class DefaultTransportRequest extends java.lang.Object implements TransportRequest
TransportRequest
.Modifier and Type | Class and Description |
---|---|
private class |
DefaultTransportRequest.ConnectCallback
Updates the given (global) future based success or failure to connect for
the entire SockJS request regardless of which transport actually managed
to connect.
|
Modifier and Type | Field and Description |
---|---|
private SockJsMessageCodec |
codec |
private DefaultTransportRequest |
fallbackRequest |
private HttpHeaders |
handshakeHeaders |
private HttpHeaders |
httpRequestHeaders |
private static Log |
logger |
private TransportType |
serverTransportType |
private SockJsUrlInfo |
sockJsUrlInfo |
private TaskScheduler |
timeoutScheduler |
private java.util.List<java.lang.Runnable> |
timeoutTasks |
private long |
timeoutValue |
private Transport |
transport |
private java.security.Principal |
user |
Constructor and Description |
---|
DefaultTransportRequest(SockJsUrlInfo sockJsUrlInfo,
HttpHeaders handshakeHeaders,
HttpHeaders httpRequestHeaders,
Transport transport,
TransportType serverTransportType,
SockJsMessageCodec codec) |
Modifier and Type | Method and Description |
---|---|
void |
addTimeoutTask(java.lang.Runnable runnable)
Register a timeout cleanup task to invoke if the SockJS session is not
fully established within the calculated retransmission timeout period.
|
void |
connect(WebSocketHandler handler,
SettableListenableFuture<WebSocketSession> future) |
HttpHeaders |
getHandshakeHeaders()
Return the headers to send with the connect request.
|
HttpHeaders |
getHttpRequestHeaders()
Return the headers to add to all other HTTP requests besides the handshake
request such as XHR receive and send requests.
|
SockJsMessageCodec |
getMessageCodec()
Return the message codec to use for encoding SockJS messages.
|
SockJsUrlInfo |
getSockJsUrlInfo()
Return information about the SockJS URL including server and session ID.
|
java.net.URI |
getTransportUrl()
Return the transport URL for the given transport.
|
java.security.Principal |
getUser()
Return the user associated with the request, if any.
|
private void |
scheduleConnectTimeoutTask(DefaultTransportRequest.ConnectCallback connectHandler) |
void |
setFallbackRequest(DefaultTransportRequest fallbackRequest) |
void |
setTimeoutScheduler(TaskScheduler scheduler) |
void |
setTimeoutValue(long timeoutValue) |
void |
setUser(java.security.Principal user) |
java.lang.String |
toString() |
private static final Log logger
private final SockJsUrlInfo sockJsUrlInfo
private final HttpHeaders handshakeHeaders
private final HttpHeaders httpRequestHeaders
private final Transport transport
private final TransportType serverTransportType
private SockJsMessageCodec codec
@Nullable private java.security.Principal user
private long timeoutValue
@Nullable private TaskScheduler timeoutScheduler
private final java.util.List<java.lang.Runnable> timeoutTasks
@Nullable private DefaultTransportRequest fallbackRequest
public DefaultTransportRequest(SockJsUrlInfo sockJsUrlInfo, @Nullable HttpHeaders handshakeHeaders, @Nullable HttpHeaders httpRequestHeaders, Transport transport, TransportType serverTransportType, SockJsMessageCodec codec)
public SockJsUrlInfo getSockJsUrlInfo()
TransportRequest
getSockJsUrlInfo
in interface TransportRequest
public HttpHeaders getHandshakeHeaders()
TransportRequest
getHandshakeHeaders
in interface TransportRequest
public HttpHeaders getHttpRequestHeaders()
TransportRequest
getHttpRequestHeaders
in interface TransportRequest
public java.net.URI getTransportUrl()
TransportRequest
For an XhrTransport
this is the URL for receiving messages.
getTransportUrl
in interface TransportRequest
public void setUser(java.security.Principal user)
@Nullable public java.security.Principal getUser()
TransportRequest
getUser
in interface TransportRequest
public SockJsMessageCodec getMessageCodec()
TransportRequest
getMessageCodec
in interface TransportRequest
public void setTimeoutValue(long timeoutValue)
public void setTimeoutScheduler(TaskScheduler scheduler)
public void addTimeoutTask(java.lang.Runnable runnable)
TransportRequest
addTimeoutTask
in interface TransportRequest
public void setFallbackRequest(DefaultTransportRequest fallbackRequest)
public void connect(WebSocketHandler handler, SettableListenableFuture<WebSocketSession> future)
private void scheduleConnectTimeoutTask(DefaultTransportRequest.ConnectCallback connectHandler)
public java.lang.String toString()
toString
in class java.lang.Object