diff --git a/okhttp/src/main/java/com/squareup/okhttp/Connection.java b/okhttp/src/main/java/com/squareup/okhttp/Connection.java index a46bb31a8..6bb9cb3a9 100644 --- a/okhttp/src/main/java/com/squareup/okhttp/Connection.java +++ b/okhttp/src/main/java/com/squareup/okhttp/Connection.java @@ -93,10 +93,8 @@ public final class Connection implements Closeable { public void connect(int connectTimeout, int readTimeout, TunnelRequest tunnelRequest) throws IOException { - if (connected) { - throw new IllegalStateException("already connected"); - } - connected = true; + if (connected) throw new IllegalStateException("already connected"); + socket = (route.proxy.type() != Proxy.Type.HTTP) ? new Socket(route.proxy) : new Socket(); Platform.get().connectSocket(socket, route.inetSocketAddress, connectTimeout); socket.setSoTimeout(readTimeout); @@ -108,6 +106,7 @@ public final class Connection implements Closeable { } else { streamWrapper(); } + connected = true; } /**