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);
public HandShake(URI url) { builder = HttpRequestPacket.builder() .protocol(Protocol.HTTP_1_1) .method(Method.GET) .header(Header.Connection, "Upgrade") .upgrade("WebSocket"); resourcePath = url.getPath(); if ("".equals(resourcePath)) { resourcePath = "/"; } if (url.getQuery() != null) { resourcePath += "?" + url.getQuery(); } serverHostName = url.getHost(); secure = "wss://".equals(url.getScheme()); port = url.getPort(); final StringBuilder sb = new StringBuilder(32) .append(getScheme()).append("://").append(url.getHost()); origin = appendPort(sb).toString().toLowerCase(Locale.ENGLISH); buildLocation(); }
public HandShake(URI url) { builder = HttpRequestPacket.builder() .protocol(Protocol.HTTP_1_1) .method(Method.GET) .header(Header.Connection, "Upgrade") .upgrade("WebSocket"); resourcePath = url.getPath(); if ("".equals(resourcePath)) { resourcePath = "/"; } if (url.getQuery() != null) { resourcePath += "?" + url.getQuery(); } serverHostName = url.getHost(); secure = "wss://".equals(url.getScheme()); port = url.getPort(); final StringBuilder sb = new StringBuilder(32) .append(getScheme()).append("://").append(url.getHost()); origin = appendPort(sb).toString().toLowerCase(Locale.ENGLISH); buildLocation(); }
public HandShake(URI url) { builder = HttpRequestPacket.builder() .protocol(Protocol.HTTP_1_1) .method(Method.GET) .header(Header.Connection, "Upgrade") .upgrade("WebSocket"); resourcePath = url.getPath(); if ("".equals(resourcePath)) { resourcePath = "/"; } if (url.getQuery() != null) { resourcePath += "?" + url.getQuery(); } serverHostName = url.getHost(); secure = "wss://".equals(url.getScheme()); port = url.getPort(); final StringBuilder sb = new StringBuilder(32) .append(getScheme()).append("://").append(url.getHost()); origin = appendPort(sb).toString().toLowerCase(Locale.ENGLISH); buildLocation(); }
public HandShake(URI url) { builder = HttpRequestPacket.builder() .protocol(Protocol.HTTP_1_1) .method(Method.GET) .header(Header.Connection, "Upgrade") .upgrade("WebSocket"); resourcePath = url.getPath(); if ("".equals(resourcePath)) { resourcePath = "/"; } if (url.getQuery() != null) { resourcePath += "?" + url.getQuery(); } serverHostName = url.getHost(); secure = "wss://".equals(url.getScheme()); port = url.getPort(); final StringBuilder sb = new StringBuilder(32) .append(getScheme()).append("://").append(url.getHost()); origin = appendPort(sb).toString().toLowerCase(Locale.ENGLISH); buildLocation(); }
/** * Create HttpContent (Grizzly request representation) from {@link WebSocketRequest}. * * @param request original request. * @return Grizzly representation of provided request. */ private HttpContent getHttpContent(WebSocketRequest request) { HttpRequestPacket.Builder builder = HttpRequestPacket.builder(); builder = builder.protocol(Protocol.HTTP_1_1); builder = builder.method(Method.GET); builder = builder.uri(request.getRequestPath()); for (Map.Entry<String, List<String>> headerEntry : request.getHeaders().entrySet()) { StringBuilder finalHeaderValue = new StringBuilder(); for(String headerValue : headerEntry.getValue()) { if(finalHeaderValue.length() != 0) { finalHeaderValue.append(", "); } finalHeaderValue.append(headerValue); } builder.header(headerEntry.getKey(), finalHeaderValue.toString()); } return HttpContent.builder(builder.build()).build(); }
private HttpRequestPacket.Builder createRequest() { HttpRequestPacket.Builder builder = HttpRequestPacket.builder(); builder.method("POST"); builder.protocol("HTTP/1.1"); builder.uri("/echo"); builder.chunked(true); return builder; }
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; }
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); 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); }
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); 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); }
protected void sendClientPreface() { // send preface (PRI * ....) final HttpRequestPacket request = HttpRequestPacket.builder() .method(Method.PRI) .uri("*") .protocol(Protocol.HTTP_2_0) .build(); final Buffer priPayload = Buffers.wrap(connection.getMemoryManager(), PRI_PAYLOAD); final SettingsFrame settingsFrame = prepareSettings().build(); final Buffer settingsBuffer = settingsFrame.toBuffer(getMemoryManager()); final Buffer payload = Buffers.appendBuffers( connection.getMemoryManager(), priPayload, settingsBuffer); final HttpContent content = HttpContent.builder(request) .content(payload) .build(); NetLogger.log(NetLogger.Context.TX, this, settingsFrame); connection.write(content); }
protected void sendClientPreface() { // send preface (PRI * ....) final HttpRequestPacket request = HttpRequestPacket.builder() .method(Method.PRI) .uri("*") .protocol(Protocol.HTTP_2_0) .build(); final Buffer priPayload = Buffers.wrap(connection.getMemoryManager(), PRI_PAYLOAD); final SettingsFrame settingsFrame = prepareSettings().build(); final Buffer settingsBuffer = settingsFrame.toBuffer(getMemoryManager()); final Buffer payload = Buffers.appendBuffers( connection.getMemoryManager(), priPayload, settingsBuffer); final HttpContent content = HttpContent.builder(request) .content(payload) .build(); NetLogger.log(NetLogger.Context.TX, this, settingsFrame); connection.write(content); }
protected void sendClientPreface() { // send preface (PRI * ....) final HttpRequestPacket request = HttpRequestPacket.builder() .method(Method.PRI) .uri("*") .protocol(Protocol.HTTP_2_0) .build(); final Buffer priPayload = Buffers.wrap(connection.getMemoryManager(), PRI_PAYLOAD); final SettingsFrame settingsFrame = prepareSettings().build(); final Buffer settingsBuffer = settingsFrame.toBuffer(getMemoryManager()); final Buffer payload = Buffers.appendBuffers( connection.getMemoryManager(), priPayload, settingsBuffer); final HttpContent content = HttpContent.builder(request) .content(payload) .build(); NetLogger.log(NetLogger.Context.TX, this, settingsFrame); connection.write(content); }
protected void sendClientPreface() { // send preface (PRI * ....) final HttpRequestPacket request = HttpRequestPacket.builder() .method(Method.PRI) .uri("*") .protocol(Protocol.HTTP_2_0) .build(); final Buffer priPayload = Buffers.wrap(connection.getMemoryManager(), PRI_PAYLOAD); final SettingsFrame settingsFrame = prepareSettings().build(); final Buffer settingsBuffer = settingsFrame.toBuffer(getMemoryManager()); final Buffer payload = Buffers.appendBuffers( connection.getMemoryManager(), priPayload, settingsBuffer); final HttpContent content = HttpContent.builder(request) .content(payload) .build(); NetLogger.log(NetLogger.Context.TX, this, settingsFrame); connection.write(content); }
protected void sendClientPreface() { // send preface (PRI * ....) final HttpRequestPacket request = HttpRequestPacket.builder() .method(Method.PRI) .uri("*") .protocol(Protocol.HTTP_2_0) .build(); final Buffer priPayload = Buffers.wrap(connection.getMemoryManager(), PRI_PAYLOAD); final SettingsFrame settingsFrame = prepareSettings().build(); final Buffer settingsBuffer = settingsFrame.toBuffer(getMemoryManager()); final Buffer payload = Buffers.appendBuffers( connection.getMemoryManager(), priPayload, settingsBuffer); final HttpContent content = HttpContent.builder(request) .content(payload) .build(); NetLogger.log(NetLogger.Context.TX, this, settingsFrame); connection.write(content); }
protected void sendClientPreface() { // send preface (PRI * ....) final HttpRequestPacket request = HttpRequestPacket.builder() .method(Method.PRI) .uri("*") .protocol(Protocol.HTTP_2_0) .build(); final Buffer priPayload = Buffers.wrap(connection.getMemoryManager(), PRI_PAYLOAD); final SettingsFrame settingsFrame = prepareSettings().build(); final Buffer settingsBuffer = settingsFrame.toBuffer(getMemoryManager()); final Buffer payload = Buffers.appendBuffers( connection.getMemoryManager(), priPayload, settingsBuffer); final HttpContent content = HttpContent.builder(request) .content(payload) .build(); NetLogger.log(NetLogger.Context.TX, this, settingsFrame); connection.write(content); }
protected void sendClientPreface() { // send preface (PRI * ....) final HttpRequestPacket request = HttpRequestPacket.builder() .method(Method.PRI) .uri("*") .protocol(Protocol.HTTP_2_0) .build(); final Buffer priPayload = Buffers.wrap(connection.getMemoryManager(), PRI_PAYLOAD); final SettingsFrame settingsFrame = prepareSettings().build(); final Buffer settingsBuffer = settingsFrame.toBuffer(getMemoryManager()); final Buffer payload = Buffers.appendBuffers( connection.getMemoryManager(), priPayload, settingsBuffer); final HttpContent content = HttpContent.builder(request) .content(payload) .build(); NetLogger.log(NetLogger.Context.TX, this, settingsFrame); connection.write(content); }
protected void sendClientPreface() { // send preface (PRI * ....) final HttpRequestPacket request = HttpRequestPacket.builder() .method(Method.PRI) .uri("*") .protocol(Protocol.HTTP_2_0) .build(); final Buffer priPayload = Buffers.wrap(connection.getMemoryManager(), PRI_PAYLOAD); final SettingsFrame settingsFrame = prepareSettings().build(); final Buffer settingsBuffer = settingsFrame.toBuffer(getMemoryManager()); final Buffer payload = Buffers.appendBuffers( connection.getMemoryManager(), priPayload, settingsBuffer); final HttpContent content = HttpContent.builder(request) .content(payload) .build(); NetLogger.log(NetLogger.Context.TX, this, settingsFrame); connection.write(content); }
protected void sendClientPreface() { // send preface (PRI * ....) final HttpRequestPacket request = HttpRequestPacket.builder() .method(Method.PRI) .uri("*") .protocol(Protocol.HTTP_2_0) .build(); final Buffer priPayload = Buffers.wrap(connection.getMemoryManager(), PRI_PAYLOAD); final SettingsFrame settingsFrame = prepareSettings().build(); final Buffer settingsBuffer = settingsFrame.toBuffer(getMemoryManager()); final Buffer payload = Buffers.appendBuffers( connection.getMemoryManager(), priPayload, settingsBuffer); final HttpContent content = HttpContent.builder(request) .content(payload) .build(); NetLogger.log(NetLogger.Context.TX, this, settingsFrame); connection.write(content); }