@@ -888,19 +888,28 @@ private boolean sendAsGrizzlyRequest(final Request request,
888
888
}
889
889
final ProxyServer proxy = ProxyUtils .getProxyServer (config , request );
890
890
final boolean useProxy = proxy != null ;
891
+
891
892
if (useProxy ) {
892
- if ((secure || httpCtx .isWSRequest ) && !httpCtx .isTunnelEstablished (connection )) {
893
- secure = false ;
894
- httpCtx .establishingTunnel = true ;
895
- builder .method (Method .CONNECT );
896
- builder .uri (AsyncHttpProviderUtils .getAuthority (uri ));
897
- } else if ((secure || httpCtx .isWSRequest ) && config .isUseRelativeURIsWithConnectProxies ()){
898
- builder .uri (uri .getRawPath ());
893
+ if (secure || httpCtx .isWSRequest ) { // TUNNELING?
894
+ if (!httpCtx .isTunnelEstablished (connection )) {
895
+ secure = false ;
896
+ httpCtx .establishingTunnel = true ;
897
+ builder .method (Method .CONNECT );
898
+ builder .uri (AsyncHttpProviderUtils .getAuthority (uri ));
899
+ } else {
900
+ if (config .isUseRelativeURIsWithConnectProxies ()) {
901
+ builder .uri (uri .getRawPath ());
902
+ builder .query (uri .getRawQuery ());
903
+ } else {
904
+ builder .uri (uri .toString ());
905
+ }
906
+ }
899
907
} else {
900
908
builder .uri (uri .toString ());
901
909
}
902
910
} else {
903
911
builder .uri (uri .getRawPath ());
912
+ builder .query (uri .getRawQuery ());
904
913
}
905
914
906
915
final BodyHandler bodyHandler = isPayloadAllowed (method ) ?
@@ -936,10 +945,6 @@ private boolean sendAsGrizzlyRequest(final Request request,
936
945
937
946
ctx .notifyDownstream (new SwitchingSSLFilter .SSLSwitchingEvent (secure , connection ));
938
947
939
- if (!useProxy && !httpCtx .isWSRequest ) {
940
- requestPacket .setQueryString (uri .getRawQuery ());
941
- //addQueryString(request, requestPacket);
942
- }
943
948
addHeaders (request , requestPacket );
944
949
addCookies (request , requestPacket );
945
950
addAuthorizationHeader (request , requestPacket );
0 commit comments