Skip to content

Commit f580296

Browse files
authored
fix when proxy tunneling failed (IOException is hidden) JDK-8173… (TooTallNate#901)
fix when proxy tunneling failed (IOException is hidden) JDK-8173620
2 parents c9e7533 + f73cca0 commit f580296

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

‎src/main/java/org/java_websocket/client/WebSocketClient.java‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.io.IOException;
2929
import java.io.InputStream;
3030
import java.io.OutputStream;
31+
import java.lang.reflect.InvocationTargetException;
3132
import java.net.InetAddress;
3233
import java.net.InetSocketAddress;
3334
import java.net.Proxy;
@@ -480,6 +481,15 @@ public void run() {
480481
onWebsocketError( engine, e );
481482
engine.closeConnection( CloseFrame.NEVER_CONNECTED, e.getMessage() );
482483
return;
484+
} catch (InternalError e) {
485+
// https://bugs.openjdk.java.net/browse/JDK-8173620
486+
if (e.getCause() instanceof InvocationTargetException && e.getCause().getCause() instanceof IOException) {
487+
IOException cause = (IOException) e.getCause().getCause();
488+
onWebsocketError(engine, cause);
489+
engine.closeConnection(CloseFrame.NEVER_CONNECTED, cause.getMessage());
490+
return;
491+
}
492+
throw e;
483493
}
484494

485495
writeThread = new Thread( new WebsocketWriteThread(this) );

0 commit comments

Comments
 (0)