Refine search
private boolean establishConnectTunnel(final ProxyServer proxy, final HttpTransactionContext httpCtx, final Uri uri, final FilterChainContext ctx) throws IOException { final Connection connection = ctx.getConnection(); final HttpRequestPacket requestPacket = HttpRequestPacket.builder() .protocol(Protocol.HTTP_1_0) .method(Method.CONNECT) .uri(AsyncHttpProviderUtils.getAuthority(uri)) .build(); setupKeepAlive(requestPacket, connection); httpCtx.establishingTunnel = true; final Request request = httpCtx.getAhcRequest(); addHostHeaderIfNeeded(request, uri, requestPacket); addServiceHeaders(requestPacket); final Realm realm = getRealm(request); addAuthorizationHeader(request, requestPacket, realm, uri, proxy, false); addProxyHeaders(request, requestPacket, realm, proxy, false, true); // turn off SSL, because CONNECT will be sent in plain mode ctx.notifyDownstream(new SSLSwitchingEvent(connection, false)); return sendRequest(httpCtx, ctx, requestPacket, null); }
final HttpRequestPacket.Builder builder = HttpRequestPacket.builder() .protocol(Protocol.HTTP_1_1) .method(method); builder.uri(uri.toUrl()); } else { builder.uri(AsyncHttpProviderUtils.getNonEmptyPath(uri)) .query(uri.getQuery()); final long contentLength = ahcRequest.getContentLength(); if (contentLength >= 0) { builder.contentLength(contentLength) .chunked(false); } else { builder.chunked(true); requestPacket = builder.build(); requestPacket.setSecure(secure); setupKeepAlive(requestPacket, connection);
httpRequest.setProtocol(Protocol.HTTP_2_0); httpResponse.setProtocol(Protocol.HTTP_2_0); httpResponse.getUpgradeDC().recycle(); httpRequest.getProcessingState().setHttpContext(httpContext); httpContext.attach(ctx); final HttpRequestPacket dummyRequestPacket = HttpRequestPacket.builder() .method(Method.PRI) .uri("/dummy_pri") .protocol(Protocol.HTTP_2_0) .build();
final UriComponents uri = req.getURI(); final Method method = Method.valueOf(request.getMethod()); final HttpRequestPacket.Builder builder = HttpRequestPacket.builder(); boolean secure = "https".equals(uri.getScheme()); builder.method(method); builder.protocol(Protocol.HTTP_1_1); builder.header(Header.Host, host); } else { if (uri.getPort() == -1) { builder.header(Header.Host, uri.getHost()); } else { builder.header(Header.Host, uri.getHost() + ':' + uri.getPort()); secure = false; httpCtx.establishingTunnel = true; builder.method(Method.CONNECT); builder.uri(AsyncHttpProviderUtils.getAuthority(uri)); } else if ((secure || httpCtx.isWSRequest) && config.isUseRelativeURIsWithConnectProxies()){ builder.uri(getNonEmptyPath(uri)); } else { builder.uri(uri.toUrl()); builder.uri(getNonEmptyPath(uri)); final long contentLength = request.getContentLength(); if (contentLength >= 0) { builder.contentLength(contentLength); builder.chunked(false);
private HttpRequestPacket createRequest() { HttpRequestPacket.Builder builder = HttpRequestPacket.builder(); builder.method("POST"); builder.protocol("HTTP/1.1"); builder.uri("/echo"); builder.chunked(true); HttpRequestPacket packet = builder.build(); packet.addHeader(Header.Host, HOST_HEADER_VALUE); return packet; }
@SuppressWarnings({"unchecked"}) @Override public NextAction handleConnect(FilterChainContext ctx) throws IOException { System.out.println("\nClient connected!\n"); HttpRequestPacket.Builder builder = createRequest(); HttpRequestPacket request = builder.build(); request.addHeader(Header.Host, HOST_HEADER_VALUE); System.out.println("Writing request:\n"); System.out.println(request.toString()); ctx.write(request); // write the request // for each of the content parts in CONTENT, wrap in a Buffer, // create the HttpContent to wrap the buffer and write the // content. MemoryManager mm = ctx.getConnection().getTransport().getMemoryManager(); for (int i = 0, len = CONTENT.length; i < len; i++) { HttpContent.Builder contentBuilder = request.httpContentBuilder(); Buffer b = Buffers.wrap(mm, CONTENT[i]); contentBuilder.content(b); HttpContent content = contentBuilder.build(); System.out.println(b.toStringContent()); ctx.write(content); } // since the request created by createRequest() is chunked, // we need to write the trailer to signify the end of the // POST data ctx.write(request.httpTrailerBuilder().build()); System.out.println("\n"); return ctx.getStopAction(); // discontinue filter chain execution }
/** * Returns {@link HttpRequestPacket} builder. * * @return {@link Builder}. */ public static Builder builder() { return new Builder(); }
/** * Returns {@link HttpRequestPacket} builder. * * @return {@link Builder}. */ public static Builder builder() { return new Builder(); }
/** * Returns {@link HttpRequestPacket} builder. * * @return {@link Builder}. */ public static Builder builder() { return new Builder(); }
/** * Returns {@link HttpRequestPacket} builder. * * @return {@link Builder}. */ public static Builder builder() { return new Builder(); }
/** * Returns {@link HttpRequestPacket} builder. * * @return {@link Builder}. */ public static Builder builder() { return new Builder(); }
/** * Returns {@link HttpRequestPacket} builder. * * @return {@link Builder}. */ public static Builder builder() { return new Builder(); }
/** * Returns {@link HttpRequestPacket} builder. * * @return {@link Builder}. */ public static Builder builder() { return new Builder(); }
/** * Returns {@link HttpRequestPacket} builder. * * @return {@link Builder}. */ public static Builder builder() { return new Builder(); }
/** * Returns {@link HttpRequestPacket} builder. * * @return {@link Builder}. */ public static Builder builder() { return new Builder(); }
/** * Returns {@link HttpRequestPacket} builder. * * @return {@link Builder}. */ public static Builder builder() { return new Builder(); }
public HttpContent composeHeaders() { String host = getServerHostName(); if (port != -1 && port != 80 && port != 443) { host += ":" + getPort(); } builder.uri(getResourcePath()) .header(Header.Host, host); if (!getSubProtocol().isEmpty()) { builder.header(Constants.SEC_WS_PROTOCOL_HEADER, join(getSubProtocol())); } else { builder.removeHeader(Constants.SEC_WS_EXTENSIONS_HEADER); } if (!getSubProtocol().isEmpty()) { builder.header(Constants.SEC_WS_PROTOCOL_HEADER, join(getSubProtocol())); } return HttpContent.builder(builder.build()).build(); }
public HttpContent composeHeaders() { String host = getServerHostName(); if (port != -1 && port != 80 && port != 443) { host += ":" + getPort(); } builder.uri(getResourcePath()) .header(Header.Host, host); if (!getSubProtocol().isEmpty()) { builder.header(Constants.SEC_WS_PROTOCOL_HEADER, join(getSubProtocol())); } else { builder.removeHeader(Constants.SEC_WS_EXTENSIONS_HEADER); } if (!getSubProtocol().isEmpty()) { builder.header(Constants.SEC_WS_PROTOCOL_HEADER, join(getSubProtocol())); } return HttpContent.builder(builder.build()).build(); }
public HttpContent composeHeaders() { String host = getServerHostName(); if (port != -1 && port != 80 && port != 443) { host += ":" + getPort(); } builder.uri(getResourcePath()) .header(Header.Host, host); if (!getSubProtocol().isEmpty()) { builder.header(Constants.SEC_WS_PROTOCOL_HEADER, join(getSubProtocol())); } else { builder.removeHeader(Constants.SEC_WS_EXTENSIONS_HEADER); } if (!getSubProtocol().isEmpty()) { builder.header(Constants.SEC_WS_PROTOCOL_HEADER, join(getSubProtocol())); } return HttpContent.builder(builder.build()).build(); }
public HttpContent composeHeaders() { String host = getServerHostName(); if (port != -1 && port != 80 && port != 443) { host += ":" + getPort(); } builder.uri(getResourcePath()) .header(Header.Host, host); if (!getSubProtocol().isEmpty()) { builder.header(Constants.SEC_WS_PROTOCOL_HEADER, join(getSubProtocol())); } else { builder.removeHeader(Constants.SEC_WS_EXTENSIONS_HEADER); } if (!getSubProtocol().isEmpty()) { builder.header(Constants.SEC_WS_PROTOCOL_HEADER, join(getSubProtocol())); } return HttpContent.builder(builder.build()).build(); }