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
An XHR transport based on Undertow's
UndertowClient
.
Requires Undertow 1.3 or 1.4, including XNIO, as of Spring Framework 5.0.
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
connectInternal
(TransportRequest request, WebSocketHandler handler, URI receiveUrl, HttpHeaders handshakeHeaders, XhrClientSockJsSession session, CompletableFuture<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.UndertowClient
Return Undertow's native HTTP client.org.xnio.XnioWorker
Return theXnioWorker
backing the I/O operations for Undertow's HTTP client.Methods inherited from class org.springframework.web.socket.sockjs.client.AbstractXhrTransport
connectAsync, connectInternal, executeInfoRequest, executeSendRequest, getTransportTypes, isXhrStreamingDisabled, setXhrStreamingDisabled
-
Constructor Details
-
UndertowXhrTransport
- Throws:
IOException
-
UndertowXhrTransport
- Throws:
IOException
-
-
Method Details
-
getHttpClient
public io.undertow.client.UndertowClient getHttpClient()Return Undertow's native HTTP client. -
getWorker
public org.xnio.XnioWorker getWorker()Return theXnioWorker
backing 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, CompletableFuture<WebSocketSession> connectFuture) - Specified by:
connectInternal
in classAbstractXhrTransport
-
executeInfoRequestInternal
- Specified by:
executeInfoRequestInternal
in classAbstractXhrTransport
-
executeSendRequestInternal
protected ResponseEntity<String> executeSendRequestInternal(URI url, HttpHeaders headers, TextMessage message) - Specified by:
executeSendRequestInternal
in classAbstractXhrTransport
-
executeRequest
protected ResponseEntity<String> executeRequest(URI url, io.undertow.util.HttpString method, HttpHeaders headers, @Nullable String body)
-