public void connect(final ClientCallback<ClientConnection> listener, InetSocketAddress bindAddress, final URI uri, final XnioWorker worker, XnioSsl ssl, ByteBufferPool bufferPool, OptionMap options) { ClientProvider provider = getClientProvider(uri); provider.connect(listener, bindAddress, uri, worker, ssl, bufferPool, options); }
@Override public void completed(final ClientExchange exchange) { exchange.setResponseListener(new ClientCallback<ClientExchange>() { @Override public void completed(ClientExchange result) {
@Override public void completed(ClientConnection connection) { ClientRequest request = new ClientRequest().setMethod(Methods.POST).setPath(url.getPath()); HttpString headerName = HttpString.tryFromString(HttpHeaders.HOST); request.getRequestHeaders().add(headerName, url.getHost()); addHttpHeaders(request, headers); HttpHeaders httpHeaders = transportRequest.getHttpRequestHeaders(); connection.sendRequest(request, createReceiveCallback(transportRequest, url, httpHeaders, session, connectFuture)); }
private void executeReceiveRequest(final TransportRequest transportRequest, final URI url, final HttpHeaders headers, final XhrClientSockJsSession session, final SettableListenableFuture<WebSocketSession> connectFuture) { if (logger.isTraceEnabled()) { logger.trace("Starting XHR receive request for " + url); } ClientCallback<ClientConnection> clientCallback = new ClientCallback<ClientConnection>() { @Override public void completed(ClientConnection connection) { ClientRequest request = new ClientRequest().setMethod(Methods.POST).setPath(url.getPath()); HttpString headerName = HttpString.tryFromString(HttpHeaders.HOST); request.getRequestHeaders().add(headerName, url.getHost()); addHttpHeaders(request, headers); HttpHeaders httpHeaders = transportRequest.getHttpRequestHeaders(); connection.sendRequest(request, createReceiveCallback(transportRequest, url, httpHeaders, session, connectFuture)); } @Override public void failed(IOException ex) { throw new SockJsTransportFailureException("Failed to execute request to " + url, ex); } }; this.httpClient.connect(clientCallback, url, this.worker, this.bufferPool, this.optionMap); }
private static void addHttpHeaders(ClientRequest request, HttpHeaders headers) { HeaderMap headerMap = request.getRequestHeaders(); headers.forEach((key, values) -> { for (String value : values) { headerMap.add(HttpString.tryFromString(key), value); } }); }
public UndertowXhrTransport(OptionMap optionMap) throws IOException { Assert.notNull(optionMap, "OptionMap is required"); this.optionMap = optionMap; this.httpClient = UndertowClient.getInstance(); this.worker = Xnio.getInstance().createWorker(optionMap); this.bufferPool = new DefaultByteBufferPool(false, 1024, -1, 2); }
@Override public ClientStatistics getStatistics() { if(http2Delegate != null) { return http2Delegate.getStatistics(); } return clientStatistics; }
void failed(final IOException e) { failedReason = e; if(responseListener != null) { responseListener.failed(e); } }
void setContinueResponse(ClientResponse response) { this.continueResponse = response; if (continueNotification != null) { this.continueNotification.handleContinue(this); } }
@Override public boolean isPushSupported() { if(http2Delegate != null) { return http2Delegate.isPushSupported(); } return false; }
@Override public boolean isMultiplexingSupported() { if(http2Delegate != null) { return http2Delegate.isMultiplexingSupported(); } return false; }
void invokeReadReadyCallback(final ClientExchange result) { if(readyCallback != null) { readyCallback.completed(result); readyCallback = null; } } }
public void connect(final ClientCallback<ClientConnection> listener, final URI uri, final XnioIoThread ioThread, XnioSsl ssl, ByteBufferPool bufferPool, OptionMap options) { ClientProvider provider = getClientProvider(uri); provider.connect(listener, uri, ioThread, ssl, bufferPool, options); }
void setContinueResponse(ClientResponse response) { this.continueResponse = response; if (continueNotification != null) { this.continueNotification.handleContinue(this); } }
public void connect(final ClientCallback<ClientConnection> listener, final URI uri, final XnioWorker worker, XnioSsl ssl, ByteBufferPool bufferPool, OptionMap options) { ClientProvider provider = getClientProvider(uri); provider.connect(listener, uri, worker, ssl, bufferPool, options); }
@Override public void setResponseListener(ClientCallback<ClientExchange> responseListener) { this.responseListener = responseListener; if(failedReason != null) { responseListener.failed(failedReason); } }
void setContinueResponse(ClientResponse response) { this.continueResponse = response; if (continueNotification != null) { this.continueNotification.handleContinue(this); } }
public void connect(final ClientCallback<ClientConnection> listener, InetSocketAddress bindAddress, final URI uri, final XnioIoThread ioThread, XnioSsl ssl, ByteBufferPool bufferPool, OptionMap options) { ClientProvider provider = getClientProvider(uri); provider.connect(listener, bindAddress, uri, ioThread, ssl, bufferPool, options); }