--- a/src/java.base/share/classes/java/net/HttpConnectSocketImpl.java Tue Apr 30 19:34:13 2019 +0100
+++ b/src/java.base/share/classes/java/net/HttpConnectSocketImpl.java Fri May 03 08:26:44 2019 +0100
@@ -51,6 +51,7 @@
private static final Method doTunneling;
private final String server;
+ private final Socket socket;
private InetSocketAddress external_address;
private HashMap<Integer, Object> optionsMap = new HashMap<>();
@@ -75,8 +76,9 @@
}
}
- HttpConnectSocketImpl(Proxy proxy, SocketImpl delegate) {
+ HttpConnectSocketImpl(Proxy proxy, SocketImpl delegate, Socket socket) {
super(delegate);
+ this.socket = socket;
SocketAddress a = proxy.address();
if ( !(a instanceof InetSocketAddress) )
throw new IllegalArgumentException("Unsupported address type");
@@ -97,17 +99,6 @@
}
@Override
- void setSocket(Socket socket) {
- delegate.socket = socket;
- super.setSocket(socket);
- }
-
- @Override
- void setServerSocket(ServerSocket socket) {
- throw new InternalError("should not get here");
- }
-
- @Override
protected void connect(SocketAddress endpoint, int timeout)
throws IOException
{
@@ -137,7 +128,7 @@
// update the Sockets impl to the impl from the http Socket
SocketImpl si = httpSocket.impl;
- getSocket().setImpl(si);
+ socket.setImpl(si);
// best effort is made to try and reset options previously set
Set<Map.Entry<Integer,Object>> options = optionsMap.entrySet();