@@ -94,29 +94,28 @@ public <T> ListenableFuture<T> sendRequest(final Request request,
9494 ProxyServer proxyServer = getProxyServer (config , request );
9595
9696 // WebSockets use connect tunneling to work with proxies
97- if (proxyServer != null //
98- && ( request . getUri ().isSecured () || request . getUri (). isWebSocket ()) //
99- && ! isConnectDone (request , future ) //
100- && proxyServer . getProxyType (). isHttp ( )) {
97+ if (proxyServer != null
98+ && proxyServer . getProxyType ().isHttp ()
99+ && (request . getUri (). isSecured () || request . getUri (). isWebSocket ())
100+ && ! isConnectAlreadyDone ( request , future )) {
101101 // Proxy with HTTPS or WebSocket: CONNECT for sure
102102 if (future != null && future .isConnectAllowed ()) {
103103 // Perform CONNECT
104104 return sendRequestWithCertainForceConnect (request , asyncHandler , future , proxyServer , true );
105105 } else {
106- // CONNECT will depend if we can pool or connection or if we have to open a new
107- // one
108- return sendRequestThroughSslProxy (request , asyncHandler , future , proxyServer );
106+ // CONNECT will depend if we can pool or connection or if we have to open a new one
107+ return sendRequestThroughProxy (request , asyncHandler , future , proxyServer );
109108 }
110109 } else {
111110 // no CONNECT for sure
112111 return sendRequestWithCertainForceConnect (request , asyncHandler , future , proxyServer , false );
113112 }
114113 }
115114
116- private boolean isConnectDone (Request request , NettyResponseFuture <?> future ) {
117- return future != null //
118- && future .getNettyRequest () != null //
119- && future .getNettyRequest ().getHttpRequest ().method () == HttpMethod .CONNECT //
115+ private boolean isConnectAlreadyDone (Request request , NettyResponseFuture <?> future ) {
116+ return future != null
117+ && future .getNettyRequest () != null
118+ && future .getNettyRequest ().getHttpRequest ().method () == HttpMethod .CONNECT
120119 && !request .getMethod ().equals (CONNECT );
121120 }
122121
@@ -146,10 +145,10 @@ private <T> ListenableFuture<T> sendRequestWithCertainForceConnect(Request reque
146145 * until we get a valid channel from the pool and it's still valid once the
147146 * request is built @
148147 */
149- private <T > ListenableFuture <T > sendRequestThroughSslProxy (Request request ,
150- AsyncHandler <T > asyncHandler ,
151- NettyResponseFuture <T > future ,
152- ProxyServer proxyServer ) {
148+ private <T > ListenableFuture <T > sendRequestThroughProxy (Request request ,
149+ AsyncHandler <T > asyncHandler ,
150+ NettyResponseFuture <T > future ,
151+ ProxyServer proxyServer ) {
153152
154153 NettyResponseFuture <T > newFuture = null ;
155154 for (int i = 0 ; i < 3 ; i ++) {
0 commit comments