@@ -868,19 +868,28 @@ private boolean sendAsGrizzlyRequest(final Request request,
868
868
}
869
869
final ProxyServer proxy = ProxyUtils .getProxyServer (config , request );
870
870
final boolean useProxy = proxy != null ;
871
+
871
872
if (useProxy ) {
872
- if ((secure || httpCtx .isWSRequest ) && !httpCtx .isTunnelEstablished (connection )) {
873
- secure = false ;
874
- httpCtx .establishingTunnel = true ;
875
- builder .method (Method .CONNECT );
876
- builder .uri (AsyncHttpProviderUtils .getAuthority (uri ));
877
- } else if ((secure || httpCtx .isWSRequest ) && config .isUseRelativeURIsWithConnectProxies ()){
878
- builder .uri (getNonEmptyPath (uri ));
873
+ if (secure || httpCtx .isWSRequest ) { // TUNNELING?
874
+ if (!httpCtx .isTunnelEstablished (connection )) {
875
+ secure = false ;
876
+ httpCtx .establishingTunnel = true ;
877
+ builder .method (Method .CONNECT );
878
+ builder .uri (AsyncHttpProviderUtils .getAuthority (uri ));
879
+ } else {
880
+ if (config .isUseRelativeURIsWithConnectProxies ()) {
881
+ builder .uri (getNonEmptyPath (uri ));
882
+ builder .query (uri .getQuery ());
883
+ } else {
884
+ builder .uri (uri .toUrl ());
885
+ }
886
+ }
879
887
} else {
880
888
builder .uri (uri .toUrl ());
881
889
}
882
890
} else {
883
891
builder .uri (getNonEmptyPath (uri ));
892
+ builder .query (uri .getQuery ());
884
893
}
885
894
886
895
final BodyHandler bodyHandler = isPayloadAllowed (method ) ?
@@ -916,10 +925,6 @@ private boolean sendAsGrizzlyRequest(final Request request,
916
925
917
926
ctx .notifyDownstream (new SwitchingSSLFilter .SSLSwitchingEvent (secure , connection ));
918
927
919
- if (!useProxy && !httpCtx .isWSRequest ) {
920
- requestPacket .setQueryString (uri .getQuery ());
921
- //addQueryString(request, requestPacket);
922
- }
923
928
addHeaders (request , requestPacket );
924
929
addCookies (request , requestPacket );
925
930
addAuthorizationHeader (request , requestPacket );
0 commit comments