org.springframework.web.socket.sockjs.client

## Interface TransportRequest

    public interface TransportRequest

Exposes information, typically to `Transport` and `session` implementations, about a request to connect to a SockJS server endpoint over a given transport.

Note that a single request to connect via `SockJsClient` may result in multiple instances of `TransportRequest`, one for each transport before a connection is successfully established.

Since:
  4.1
Author:
  Rossen Stoyanchev

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addTimeoutTask(Runnable runnable)` Register a timeout cleanup task to invoke if the SockJS session is not fully established within the calculated retransmission timeout period.
`org.springframework.http.HttpHeaders` `getHandshakeHeaders()` Return the headers to send with the connect request.
`org.springframework.http.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.
`URI` `getTransportUrl()` Return the transport URL for the given transport.
`Principal` `getUser()` Return the user associated with the request, if any.

### Method Detail

#### getSockJsUrlInfo

    SockJsUrlInfo getSockJsUrlInfo()

Return information about the SockJS URL including server and session ID.

#### getHandshakeHeaders

    org.springframework.http.HttpHeaders getHandshakeHeaders()

Return the headers to send with the connect request.

#### getHttpRequestHeaders

    org.springframework.http.HttpHeaders getHttpRequestHeaders()

Return the headers to add to all other HTTP requests besides the handshake request such as XHR receive and send requests.

Since:
  4.2

#### getTransportUrl

    URI getTransportUrl()

Return the transport URL for the given transport.

For an `XhrTransport` this is the URL for receiving messages.

#### getUser

    @Nullable
    Principal getUser()

Return the user associated with the request, if any.

#### getMessageCodec

    SockJsMessageCodec getMessageCodec()

Return the message codec to use for encoding SockJS messages.

#### addTimeoutTask

    void addTimeoutTask(Runnable runnable)

Register a timeout cleanup task to invoke if the SockJS session is not fully established within the calculated retransmission timeout period.