From e423efe2bd886e4117460401ac19868c2cfd095c Mon Sep 17 00:00:00 2001 From: Clayton Walker Date: Wed, 11 Jan 2023 21:12:11 -0700 Subject: [PATCH 1/2] Don't swallow IOException caused by opening socket --- .../java/com/github/dockerjava/transport/UnixSocket.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docker-java-transport/src/main/java/com/github/dockerjava/transport/UnixSocket.java b/docker-java-transport/src/main/java/com/github/dockerjava/transport/UnixSocket.java index de447db61..eb7a49b51 100644 --- a/docker-java-transport/src/main/java/com/github/dockerjava/transport/UnixSocket.java +++ b/docker-java-transport/src/main/java/com/github/dockerjava/transport/UnixSocket.java @@ -3,6 +3,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.lang.reflect.InvocationTargetException; import java.net.Socket; import java.net.SocketAddress; import java.net.SocketException; @@ -24,7 +25,8 @@ public class UnixSocket extends AbstractSocket { public static Socket get(String path) throws IOException { try { return new UnixSocket(path); - } catch (Exception e) { + } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | + IllegalAccessException e) { //noinspection deprecation return DomainSocket.get(path); } @@ -34,7 +36,8 @@ public static Socket get(String path) throws IOException { private final SocketChannel socketChannel; - private UnixSocket(String path) throws Exception { + private UnixSocket(String path) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, + IllegalAccessException, IOException { Class unixDomainSocketAddress = Class.forName("java.net.UnixDomainSocketAddress"); this.socketAddress = (SocketAddress) unixDomainSocketAddress.getMethod("of", String.class) From 9d8db991f5be6ffd4155657793e23c197b24eb57 Mon Sep 17 00:00:00 2001 From: Clayton Walker Date: Fri, 27 Oct 2023 12:01:35 -0600 Subject: [PATCH 2/2] Add additional context to socket exception --- .../java/com/github/dockerjava/okhttp/UnixSocketFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-java-transport-okhttp/src/main/java/com/github/dockerjava/okhttp/UnixSocketFactory.java b/docker-java-transport-okhttp/src/main/java/com/github/dockerjava/okhttp/UnixSocketFactory.java index dc19b1351..d25bcb3d3 100644 --- a/docker-java-transport-okhttp/src/main/java/com/github/dockerjava/okhttp/UnixSocketFactory.java +++ b/docker-java-transport-okhttp/src/main/java/com/github/dockerjava/okhttp/UnixSocketFactory.java @@ -20,7 +20,7 @@ public Socket createSocket() { try { return UnixSocket.get(socketPath); } catch (IOException e) { - throw new RuntimeException(e); + throw new RuntimeException("Failed create socket with path " + socketPath, e); } }