private void configureProxyServer(ChannelPipeline clientPipeline) { if (proxyServerConfiguration != null && sslConfig != null) { if (proxyServerConfiguration.getProxyUsername() != null && proxyServerConfiguration.getProxyPassword() != null) { clientPipeline.addLast(Constants.PROXY_HANDLER, new HttpProxyHandler(proxyServerConfiguration.getInetSocketAddress(), proxyServerConfiguration.getProxyUsername(), proxyServerConfiguration.getProxyPassword())); } else { clientPipeline.addLast(Constants.PROXY_HANDLER, new HttpProxyHandler(proxyServerConfiguration.getInetSocketAddress())); } } }
private void setProxyAuthorizationHeader(HttpCarbonMessage httpOutboundRequest) { ByteBuf authz = Unpooled.copiedBuffer( senderConfiguration.getProxyServerConfiguration().getProxyUsername() + COLON + senderConfiguration.getProxyServerConfiguration().getProxyPassword(), CharsetUtil.UTF_8); ByteBuf authzBase64 = Base64.encode(authz, false); CharSequence authorization = new AsciiString("Basic " + authzBase64.toString(CharsetUtil.US_ASCII)); httpOutboundRequest.setHeader(HttpHeaderNames.PROXY_AUTHORIZATION.toString(), authorization); authz.release(); authzBase64.release(); } }
private void handleOutboundConnectionHeader(KeepAliveConfig keepAliveConfig, HttpCarbonMessage httpOutboundRequest) { switch (keepAliveConfig) { case AUTO: if (Float.valueOf(httpVersion) >= Constants.HTTP_1_1) { httpOutboundRequest .setHeader(HttpHeaderNames.CONNECTION.toString(), Constants.CONNECTION_KEEP_ALIVE); } else { httpOutboundRequest.setHeader(HttpHeaderNames.CONNECTION.toString(), Constants.CONNECTION_CLOSE); } break; case ALWAYS: httpOutboundRequest.setHeader(HttpHeaderNames.CONNECTION.toString(), Constants.CONNECTION_KEEP_ALIVE); break; case NEVER: httpOutboundRequest.setHeader(HttpHeaderNames.CONNECTION.toString(), Constants.CONNECTION_CLOSE); break; default: //Do nothing break; } // Add proxy-authorization header if proxy is enabled and scheme is http if (senderConfiguration.getScheme().equals(HTTP_SCHEME) && senderConfiguration.getProxyServerConfiguration() != null && senderConfiguration.getProxyServerConfiguration().getProxyUsername() != null && senderConfiguration.getProxyServerConfiguration().getProxyPassword() != null) { setProxyAuthorizationHeader(httpOutboundRequest); } }