Package org.cometd.server.transport
Class AbstractStreamHttpTransport
java.lang.Object
org.cometd.common.AbstractTransport
org.cometd.server.AbstractServerTransport
org.cometd.server.transport.AbstractHttpTransport
org.cometd.server.transport.AbstractStreamHttpTransport
- All Implemented Interfaces:
org.cometd.bayeux.server.ServerTransport,org.cometd.bayeux.Transport,org.eclipse.jetty.util.component.Dumpable
- Direct Known Subclasses:
JSONPTransport,JSONTransport
public abstract class AbstractStreamHttpTransport extends AbstractHttpTransport
The base class for HTTP transports that use blocking stream I/O.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classAbstractStreamHttpTransport.DispatchingLongPollSchedulerNested classes/interfaces inherited from class org.cometd.server.transport.AbstractHttpTransport
AbstractHttpTransport.HttpScheduler, AbstractHttpTransport.LongPollSchedulerNested classes/interfaces inherited from class org.cometd.server.AbstractServerTransport
AbstractServerTransport.Scheduler -
Field Summary
Fields inherited from class org.cometd.server.transport.AbstractHttpTransport
_logger, BROWSER_COOKIE_DOMAIN_OPTION, BROWSER_COOKIE_HTTP_ONLY_OPTION, BROWSER_COOKIE_NAME_OPTION, BROWSER_COOKIE_PATH_OPTION, BROWSER_COOKIE_SECURE_OPTION, HTTP2_MAX_SESSIONS_PER_BROWSER_OPTION, JSON_DEBUG_OPTION, MAX_SESSIONS_PER_BROWSER_OPTION, MESSAGE_PARAM, MULTI_SESSION_INTERVAL_OPTION, PREFIX, TRUST_CLIENT_SESSIONFields inherited from class org.cometd.server.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_OPTION -
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractStreamHttpTransport(BayeuxServerImpl bayeux, java.lang.String name) -
Method Summary
Modifier and Type Method Description protected abstract javax.servlet.ServletOutputStreambeginWrite(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)protected abstract voidendWrite(javax.servlet.http.HttpServletResponse response, javax.servlet.ServletOutputStream output)voidhandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)protected AbstractHttpTransport.HttpSchedulernewHttpScheduler(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.AsyncContext asyncContext, ServerSessionImpl session, org.cometd.bayeux.server.ServerMessage.Mutable reply, long timeout)protected org.cometd.bayeux.server.ServerMessage.Mutable[]parseMessages(java.lang.String[] requestParameters)protected abstract org.cometd.bayeux.server.ServerMessage.Mutable[]parseMessages(javax.servlet.http.HttpServletRequest request)protected voidprocess(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)protected AbstractHttpTransport.HttpSchedulersuspend(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ServerSessionImpl session, org.cometd.bayeux.server.ServerMessage.Mutable reply, long timeout)protected voidwrite(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ServerSessionImpl session, boolean scheduleExpiration, java.util.List<org.cometd.bayeux.server.ServerMessage> messages, org.cometd.bayeux.server.ServerMessage.Mutable[] replies)protected voidwriteComplete(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ServerSessionImpl session, java.util.List<org.cometd.bayeux.server.ServerMessage> messages, org.cometd.bayeux.server.ServerMessage.Mutable[] replies)protected voidwriteMessage(javax.servlet.http.HttpServletResponse response, javax.servlet.ServletOutputStream output, ServerSessionImpl session, org.cometd.bayeux.server.ServerMessage message)Methods inherited from class org.cometd.server.transport.AbstractHttpTransport
accept, bayeuxServerHandle, decBrowserId, error, findBrowserId, findCurrentSessions, findSession, flush, getAsyncContext, getContext, getCurrentRequest, getMultiSessionInterval, handleJSONParseException, incBrowserId, init, isHTTP2, metaConnectResumed, metaConnectSuspended, processMessages, processMetaConnect, processMetaHandshake, resume, setBrowserId, setCurrentRequest, sweepMethods inherited from class org.cometd.server.AbstractServerTransport
allowMessageDeliveryDuringHandshake, destroy, dump, dump, getAdvice, getBayeux, getInterval, getMaxInterval, getMaxLazyTimeout, getMaxMessageSize, getTimeout, isAllowMessageDeliveryDuringHandshake, isHandshakeReconnect, isMetaConnectDeliveryOnly, parseMessages, parseMessages, processReply, scheduleExpiration, setAllowMessageDeliveryDuringHandshake, setHandshakeReconnect, setInterval, setMaxInterval, setMaxLazyTimeout, setMaxMessageSize, setMetaConnectDeliveryOnly, setTimeout, toJSONBytes, toStringMethods inherited from class org.cometd.common.AbstractTransport
getName, getOption, getOption, getOption, getOption, getOption, getOptionNames, getOptionPrefix, setOption, setOptionPrefix
-
Constructor Details
-
Method Details
-
handle
public void handle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException- Specified by:
handlein classAbstractHttpTransport- Throws:
java.io.IOExceptionjavax.servlet.ServletException
-
process
protected void process(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException- Throws:
java.io.IOExceptionjavax.servlet.ServletException
-
suspend
protected AbstractHttpTransport.HttpScheduler suspend(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ServerSessionImpl session, org.cometd.bayeux.server.ServerMessage.Mutable reply, long timeout)- Specified by:
suspendin classAbstractHttpTransport
-
newHttpScheduler
protected AbstractHttpTransport.HttpScheduler newHttpScheduler(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.AsyncContext asyncContext, ServerSessionImpl session, org.cometd.bayeux.server.ServerMessage.Mutable reply, long timeout) -
parseMessages
protected abstract org.cometd.bayeux.server.ServerMessage.Mutable[] parseMessages(javax.servlet.http.HttpServletRequest request) throws java.io.IOException, java.text.ParseException- Throws:
java.io.IOExceptionjava.text.ParseException
-
parseMessages
protected org.cometd.bayeux.server.ServerMessage.Mutable[] parseMessages(java.lang.String[] requestParameters) throws java.io.IOException, java.text.ParseException- Throws:
java.io.IOExceptionjava.text.ParseException
-
write
protected void write(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ServerSessionImpl session, boolean scheduleExpiration, java.util.List<org.cometd.bayeux.server.ServerMessage> messages, org.cometd.bayeux.server.ServerMessage.Mutable[] replies)- Specified by:
writein classAbstractHttpTransport
-
writeMessage
protected void writeMessage(javax.servlet.http.HttpServletResponse response, javax.servlet.ServletOutputStream output, ServerSessionImpl session, org.cometd.bayeux.server.ServerMessage message) throws java.io.IOException- Throws:
java.io.IOException
-
beginWrite
protected abstract javax.servlet.ServletOutputStream beginWrite(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException- Throws:
java.io.IOException
-
endWrite
protected abstract void endWrite(javax.servlet.http.HttpServletResponse response, javax.servlet.ServletOutputStream output) throws java.io.IOException- Throws:
java.io.IOException
-
writeComplete
protected void writeComplete(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ServerSessionImpl session, java.util.List<org.cometd.bayeux.server.ServerMessage> messages, org.cometd.bayeux.server.ServerMessage.Mutable[] replies)
-