Class AbstractHttpTransport
java.lang.Object
org.cometd.common.AbstractTransport
org.cometd.server.AbstractServerTransport
org.cometd.server.http.AbstractHttpTransport
- All Implemented Interfaces:
ServerTransport, Transport, org.eclipse.jetty.util.component.Dumpable
- Direct Known Subclasses:
JSONHttpTransport, JSONPHttpTransport
HTTP ServerTransport base class, used by ServerTransports that use HTTP as transport or to initiate a transport connection.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceAAbstractServerTransport.Schedulerfor HTTP-based transports.protected classNested classes/interfaces inherited from class AbstractServerTransport
AbstractServerTransport.Scheduler, AbstractServerTransport.SchedulerCancelledExceptionNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
org.eclipse.jetty.util.component.Dumpable.DumpableContainer, org.eclipse.jetty.util.component.Dumpable.DumpAppendable -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class AbstractServerTransport
ALLOW_MESSAGE_DELIVERY_DURING_HANDSHAKE, HANDSHAKE_RECONNECT_OPTION, INTERVAL_OPTION, JSON_CONTEXT_OPTION, MAX_INTERVAL_OPTION, MAX_LAZY_TIMEOUT_OPTION, MAX_MESSAGE_SIZE_OPTION, MAX_PROCESSING_OPTION, MAX_QUEUE_OPTION, META_CONNECT_DELIVERY_OPTION, TIMEOUT_OPTIONFields inherited from interface org.eclipse.jetty.util.component.Dumpable
LEGEND -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractHttpTransport(BayeuxServerImpl bayeux, String name) -
Method Summary
Modifier and TypeMethodDescriptionabstract booleanaccept(CometDRequest request) voiddecBrowserId(ServerSessionImpl session, boolean http2) static AbstractHttpTransportfind(BayeuxServer bayeuxServer, CometDRequest request) protected StringfindBrowserId(TransportContext context) protected Collection<ServerSessionImpl> findCurrentSessions(CometDRequest request) protected ServerSessionImplfindSession(Collection<ServerSessionImpl> sessions, ServerMessage.Mutable message) protected voidflush(TransportContext context) protected Stringprotected intprotected Stringprotected Stringprotected Stringprotected intprotected longvoidhandle(BayeuxContext bayeuxContext, CometDRequest request, CometDResponse response, Promise<Void> promise) protected abstract voidhandle(TransportContext context) protected voidhandleMessage(TransportContext context, ServerMessage.Mutable message, Promise<ServerMessage.Mutable> promise) booleanincBrowserId(ServerSessionImpl session, boolean http2) Increments the count of sessions for the given browser identifier.voidinit()Initializes the transport, resolving default and direct options.protected booleanprotected booleanprotected booleanprotected booleanisHTTP2(CometDRequest request) protected voidnewBrowserCookie(StringBuilder builder, String name, String value, boolean secure) protected AbstractHttpTransport.HttpSchedulernewHttpScheduler(TransportContext context, Promise<Void> promise, ServerMessage.Mutable reply, long timeout) protected voidprocessMessages(TransportContext context, List<ServerMessage.Mutable> messages) protected voidresume(TransportContext context, ServerMessage.Mutable message, Promise<Void> promise) protected StringsetBrowserId(TransportContext context) protected AbstractHttpTransport.HttpSchedulersuspend(TransportContext context, Promise<Void> promise, ServerMessage.Mutable message, long timeout) protected voidsweep()Sweeps the transport for old Browser IDsprotected byte[]toJSONBytes(ServerMessage msg) protected voidwrite(TransportContext context, List<ServerMessage> messages) protected voidwriteBegin(CometDResponse.Output output, Promise<Void> promise) protected voidwriteComplete(TransportContext context, List<ServerMessage> messages) protected voidwriteEnd(CometDResponse.Output output, Promise<Void> promise) protected voidwriteMessage(CometDResponse.Output output, ServerMessage message, Promise<Void> promise) protected voidwritePrepare(TransportContext context, Promise<Void> promise) Methods inherited from class AbstractServerTransport
allowMessageDeliveryDuringHandshake, destroy, dump, getBayeuxServer, getInterval, getJSONContextServer, getMaxInterval, getMaxLazyTimeout, getMaxMessageSize, getTimeout, isAllowMessageDeliveryDuringHandshake, isHandshakeReconnect, isMetaConnectDeliveryOnly, newMetaConnectCycle, parseMessages, processReply, scheduleExpiration, setAllowMessageDeliveryDuringHandshake, setHandshakeReconnect, setInterval, setMaxInterval, setMaxLazyTimeout, setMaxMessageSize, setMetaConnectDeliveryOnly, setTimeout, toJSON, toStringMethods inherited from class AbstractTransport
getName, getOption, getOption, getOption, getOption, getOption, getOptionNames, getOptionPrefix, setOption, setOptionPrefixMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.component.Dumpable
dump, dumpSelfMethods inherited from interface Transport
getName, getOption, getOptionNames, getOptionPrefix
-
Field Details
-
PREFIX
- See Also:
-
JSON_DEBUG_OPTION
- See Also:
-
MESSAGE_PARAM
- See Also:
-
BROWSER_COOKIE_NAME_OPTION
- See Also:
-
BROWSER_COOKIE_DOMAIN_OPTION
- See Also:
-
BROWSER_COOKIE_PATH_OPTION
- See Also:
-
BROWSER_COOKIE_MAX_AGE_OPTION
- See Also:
-
BROWSER_COOKIE_SECURE_OPTION
- See Also:
-
BROWSER_COOKIE_HTTP_ONLY_OPTION
- See Also:
-
BROWSER_COOKIE_SAME_SITE_OPTION
- See Also:
-
BROWSER_COOKIE_PARTITIONED_OPTION
- See Also:
-
MAX_SESSIONS_PER_BROWSER_OPTION
- See Also:
-
HTTP2_MAX_SESSIONS_PER_BROWSER_OPTION
- See Also:
-
MULTI_SESSION_INTERVAL_OPTION
- See Also:
-
TRUST_CLIENT_SESSION_OPTION
- See Also:
-
DUPLICATE_META_CONNECT_HTTP_RESPONSE_CODE_OPTION
- See Also:
-
-
Constructor Details
-
AbstractHttpTransport
-
-
Method Details
-
find
-
init
public void init()Description copied from class:AbstractServerTransportInitializes the transport, resolving default and direct options.- Overrides:
initin classAbstractServerTransport
-
getBrowserCookieName
-
getBrowserCookieDomain
-
getBrowserCookiePath
-
getBrowserCookieMaxAge
protected int getBrowserCookieMaxAge() -
isBrowserCookieSecure
protected boolean isBrowserCookieSecure() -
isBrowserCookieHttpOnly
protected boolean isBrowserCookieHttpOnly() -
getBrowserCookieSameSite
-
isBrowserCookiePartitioned
protected boolean isBrowserCookiePartitioned() -
getMultiSessionInterval
protected long getMultiSessionInterval() -
getDuplicateMetaConnectHttpResponseCode
protected int getDuplicateMetaConnectHttpResponseCode() -
accept
-
handle
public void handle(BayeuxContext bayeuxContext, CometDRequest request, CometDResponse response, Promise<Void> promise) -
handle
-
suspend
protected AbstractHttpTransport.HttpScheduler suspend(TransportContext context, Promise<Void> promise, ServerMessage.Mutable message, long timeout) -
newHttpScheduler
protected AbstractHttpTransport.HttpScheduler newHttpScheduler(TransportContext context, Promise<Void> promise, ServerMessage.Mutable reply, long timeout) -
write
-
processMessages
-
findSession
protected ServerSessionImpl findSession(Collection<ServerSessionImpl> sessions, ServerMessage.Mutable message) -
findCurrentSessions
-
isHTTP2
-
flush
-
resume
protected void resume(TransportContext context, ServerMessage.Mutable message, Promise<Void> promise) -
findBrowserId
-
setBrowserId
-
newBrowserCookie
-
incBrowserId
Increments the count of sessions for the given browser identifier.- Parameters:
session- the session that increments the counthttp2- whether the HTTP protocol is HTTP/2- Returns:
- true if the count is below the max sessions per browser value. If false is returned, the count is not incremented.
- See Also:
-
decBrowserId
-
handleMessage
protected void handleMessage(TransportContext context, ServerMessage.Mutable message, Promise<ServerMessage.Mutable> promise) -
writePrepare
-
writeBegin
-
writeMessage
protected void writeMessage(CometDResponse.Output output, ServerMessage message, Promise<Void> promise) -
writeEnd
-
writeComplete
-
sweep
protected void sweep()Sweeps the transport for old Browser IDs- Overrides:
sweepin classAbstractServerTransport
-
toJSONBytes
-