public class UndertowXhrTransport extends AbstractXhrTransport implements XhrTransport
io.undertow.client.UndertowClient
.
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);
org.xnio.Options
Modifier and Type | Class and Description |
---|---|
class |
UndertowXhrTransport.SockJsResponseListener |
Modifier and Type | Field and Description |
---|---|
private <any> |
bufferPool |
private UndertowClient |
httpClient |
private OptionMap |
optionMap |
private static <any> |
RESPONSE_BODY |
private XnioWorker |
worker |
logger, PRELUDE
Constructor and Description |
---|
UndertowXhrTransport() |
UndertowXhrTransport(OptionMap optionMap) |
Modifier and Type | Method and Description |
---|---|
private static void |
addHttpHeaders(ClientRequest request,
HttpHeaders headers) |
protected void |
connectInternal(TransportRequest request,
WebSocketHandler handler,
java.net.URI receiveUrl,
HttpHeaders handshakeHeaders,
XhrClientSockJsSession session,
SettableListenableFuture<WebSocketSession> connectFuture) |
private <any> |
createConnectCallback(java.net.URI url,
HttpHeaders headers,
XhrClientSockJsSession sockJsSession,
SettableListenableFuture<WebSocketSession> connectFuture) |
private <any> |
createRequestCallback(java.lang.String body,
java.util.List<ClientResponse> responses,
java.util.concurrent.CountDownLatch latch) |
protected ResponseEntity<java.lang.String> |
executeInfoRequestInternal(java.net.URI infoUrl) |
private void |
executeReceiveRequest(java.net.URI url,
HttpHeaders headers,
XhrClientSockJsSession session,
SettableListenableFuture<WebSocketSession> connectFuture) |
protected ResponseEntity<java.lang.String> |
executeRequest(java.net.URI url,
HttpString method,
HttpHeaders headers,
java.lang.String body) |
protected ResponseEntity<java.lang.String> |
executeSendRequestInternal(java.net.URI url,
HttpHeaders headers,
TextMessage message) |
UndertowClient |
getHttpClient()
Return Undertow's native HTTP client
|
XnioWorker |
getWorker()
Return the
org.xnio.XnioWorker backing the I/O operations for Undertow's HTTP client |
private static HttpHeaders |
toHttpHeaders(HeaderMap headerMap) |
connect, executeInfoRequest, executeSendRequest, getRequestHeaders, getTransportTypes, isXhrStreamingDisabled, setRequestHeaders, setXhrStreamingDisabled, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
executeSendRequest, isXhrStreamingDisabled
connect, getTransportTypes
executeInfoRequest
private static final <any> RESPONSE_BODY
private final <any> bufferPool
private final OptionMap optionMap
private final XnioWorker worker
private final UndertowClient httpClient
public UndertowXhrTransport() throws java.io.IOException
java.io.IOException
public UndertowXhrTransport(OptionMap optionMap) throws java.io.IOException
java.io.IOException
private static HttpHeaders toHttpHeaders(HeaderMap headerMap)
private static void addHttpHeaders(ClientRequest request, HttpHeaders headers)
public UndertowClient getHttpClient()
public XnioWorker getWorker()
org.xnio.XnioWorker
backing the I/O operations for Undertow's HTTP clientorg.xnio.Xnio
protected ResponseEntity<java.lang.String> executeInfoRequestInternal(java.net.URI infoUrl)
executeInfoRequestInternal
in class AbstractXhrTransport
protected ResponseEntity<java.lang.String> executeSendRequestInternal(java.net.URI url, HttpHeaders headers, TextMessage message)
executeSendRequestInternal
in class AbstractXhrTransport
protected ResponseEntity<java.lang.String> executeRequest(java.net.URI url, HttpString method, HttpHeaders headers, java.lang.String body)
private <any> createRequestCallback(java.lang.String body, java.util.List<ClientResponse> responses, java.util.concurrent.CountDownLatch latch)
protected void connectInternal(TransportRequest request, WebSocketHandler handler, java.net.URI receiveUrl, HttpHeaders handshakeHeaders, XhrClientSockJsSession session, SettableListenableFuture<WebSocketSession> connectFuture)
connectInternal
in class AbstractXhrTransport
private void executeReceiveRequest(java.net.URI url, HttpHeaders headers, XhrClientSockJsSession session, SettableListenableFuture<WebSocketSession> connectFuture)
private <any> createConnectCallback(java.net.URI url, HttpHeaders headers, XhrClientSockJsSession sockJsSession, SettableListenableFuture<WebSocketSession> connectFuture)