Class UndertowXhrTransport
- java.lang.Object
- org.springframework.web.socket.sockjs.client.AbstractXhrTransport
- org.springframework.web.socket.sockjs.client.UndertowXhrTransport
- All Implemented Interfaces:
InfoReceiver,Transport,XhrTransport
public class UndertowXhrTransport extends AbstractXhrTransport
An XHR transport based on Undertow'sUndertowClient. Compatible with Undertow 1.0 to 1.3, as of Spring Framework 4.2.2.When used for testing purposes (e.g. load testing) or for specific use cases (like HTTPS configuration), a custom OptionMap should be provided:
OptionMap optionMap = OptionMap.builder() .set(Options.WORKER_IO_THREADS, 8) .set(Options.TCP_NODELAY, true) .set(Options.KEEP_ALIVE, true) .set(Options.WORKER_NAME, "SockJSClient") .getMap(); UndertowXhrTransport transport = new UndertowXhrTransport(optionMap);
- Since:
- 4.1.2
- Author:
- Brian Clozel, Rossen Stoyanchev
- See Also:
Options
Field Summary
Fields inherited from class org.springframework.web.socket.sockjs.client.AbstractXhrTransport
logger, PRELUDE
Constructor Summary
Constructors Constructor Description UndertowXhrTransport()UndertowXhrTransport(OptionMap optionMap)
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidconnectInternal(TransportRequest request, WebSocketHandler handler, URI receiveUrl, HttpHeaders handshakeHeaders, XhrClientSockJsSession session, SettableListenableFuture<WebSocketSession> connectFuture)protected ResponseEntity<String>executeInfoRequestInternal(URI infoUrl, HttpHeaders headers)protected ResponseEntity<String>executeRequest(URI url, io.undertow.util.HttpString method, HttpHeaders headers, String body)protected ResponseEntity<String>executeSendRequestInternal(URI url, HttpHeaders headers, TextMessage message)io.undertow.client.UndertowClientgetHttpClient()Return Undertow's native HTTP clientXnioWorkergetWorker()Return theXnioWorkerbacking the I/O operations for Undertow's HTTP client.Methods inherited from class org.springframework.web.socket.sockjs.client.AbstractXhrTransport
connect, executeInfoRequest, executeSendRequest, getRequestHeaders, getTransportTypes, isXhrStreamingDisabled, setRequestHeaders, setXhrStreamingDisabled, toString
Constructor Detail
UndertowXhrTransport
public UndertowXhrTransport() throws IOException
- Throws:
IOException
UndertowXhrTransport
public UndertowXhrTransport(OptionMap optionMap) throws IOException
- Throws:
IOException
Method Detail
getHttpClient
public io.undertow.client.UndertowClient getHttpClient()
Return Undertow's native HTTP client
getWorker
public XnioWorker getWorker()
Return theXnioWorkerbacking the I/O operations for Undertow's HTTP client.- See Also:
Xnio
connectInternal
protected void connectInternal(TransportRequest request, WebSocketHandler handler, URI receiveUrl, HttpHeaders handshakeHeaders, XhrClientSockJsSession session, SettableListenableFuture<WebSocketSession> connectFuture)
- Specified by:
connectInternalin classAbstractXhrTransport
executeInfoRequestInternal
protected ResponseEntity<String> executeInfoRequestInternal(URI infoUrl, HttpHeaders headers)
- Specified by:
executeInfoRequestInternalin classAbstractXhrTransport
executeSendRequestInternal
protected ResponseEntity<String> executeSendRequestInternal(URI url, HttpHeaders headers, TextMessage message)
- Specified by:
executeSendRequestInternalin classAbstractXhrTransport
executeRequest
protected ResponseEntity<String> executeRequest(URI url, io.undertow.util.HttpString method, HttpHeaders headers, String body)