diff --git a/src/share/classes/sun/net/www/http/HttpClient.java b/src/share/classes/sun/net/www/http/HttpClient.java index ec08b0e6b9bcf07ee20e26715310ec5be7470be9..cfbc9329387b26471efc1f477af643acf1d88966 100644 --- a/src/share/classes/sun/net/www/http/HttpClient.java +++ b/src/share/classes/sun/net/www/http/HttpClient.java @@ -36,6 +36,7 @@ import sun.net.www.MeteredStream; import sun.net.www.ParseUtil; import sun.net.www.protocol.http.HttpURLConnection; import sun.util.logging.PlatformLogger; +import static sun.net.www.protocol.http.HttpURLConnection.TunnelState.*; /** * @author Herb Jellinek @@ -276,6 +277,8 @@ public class HttpClient extends NetworkClient { ret.cachedHttpClient = true; assert ret.inCache; ret.inCache = false; + if (httpuc != null && ret.needsTunneling()) + httpuc.setTunnelState(TUNNELING); PlatformLogger logger = HttpURLConnection.getHttpLogger(); if (logger.isLoggable(PlatformLogger.FINEST)) { logger.finest("KeepAlive stream retrieved from the cache, " + ret); diff --git a/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java b/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java index 036f469a975bb18164e6ccd27001082b6f8b72c6..87fdaa82bf2a4e41263a2e5478d661aea6e834f3 100644 --- a/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java +++ b/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java @@ -351,7 +351,7 @@ public class HttpURLConnection extends java.net.HttpURLConnection { private HttpClient reuseClient = null; /* Tunnel states */ - enum TunnelState { + public enum TunnelState { /* No tunnel */ NONE, @@ -1740,7 +1740,7 @@ public class HttpURLConnection extends java.net.HttpURLConnection { * * @param the state */ - void setTunnelState(TunnelState tunnelState) { + public void setTunnelState(TunnelState tunnelState) { this.tunnelState = tunnelState; }