From 33853887882560156a8a309acd7f811727d9d161 Mon Sep 17 00:00:00 2001 From: Clayton Walker Date: Wed, 10 Jan 2024 11:19:22 -0700 Subject: [PATCH 1/2] Remove exclusion --- docker-java-transport-httpclient5/pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docker-java-transport-httpclient5/pom.xml b/docker-java-transport-httpclient5/pom.xml index 4eb9f41df..48b751d56 100644 --- a/docker-java-transport-httpclient5/pom.xml +++ b/docker-java-transport-httpclient5/pom.xml @@ -30,12 +30,6 @@ org.apache.httpcomponents.client5 httpclient5 5.0.3 - - - org.apache.httpcomponents.core5 - httpcore5-h2 - - From 3860ea8c693c5fbf703f09d03dd4843c8484f293 Mon Sep 17 00:00:00 2001 From: Clayton Walker Date: Thu, 11 Jan 2024 14:55:42 -0700 Subject: [PATCH 2/2] Handle upstream httpclient changes gracefully --- .../ApacheDockerHttpClientImpl.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docker-java-transport-httpclient5/src/main/java/com/github/dockerjava/httpclient5/ApacheDockerHttpClientImpl.java b/docker-java-transport-httpclient5/src/main/java/com/github/dockerjava/httpclient5/ApacheDockerHttpClientImpl.java index 93677bd36..4820c65e5 100644 --- a/docker-java-transport-httpclient5/src/main/java/com/github/dockerjava/httpclient5/ApacheDockerHttpClientImpl.java +++ b/docker-java-transport-httpclient5/src/main/java/com/github/dockerjava/httpclient5/ApacheDockerHttpClientImpl.java @@ -38,6 +38,7 @@ import javax.net.ssl.SSLContext; import java.io.IOException; import java.io.InputStream; +import java.net.InetSocketAddress; import java.net.Socket; import java.net.URI; import java.time.Duration; @@ -147,17 +148,31 @@ private Registry createConnectionSocketFactoryRegistry( return socketFactoryRegistryBuilder .register("tcp", PlainConnectionSocketFactory.INSTANCE) .register("http", PlainConnectionSocketFactory.INSTANCE) - .register("unix", new PlainConnectionSocketFactory() { + .register("unix", new ConnectionSocketFactory() { @Override public Socket createSocket(HttpContext context) throws IOException { return UnixSocket.get(dockerHost.getPath()); } + + @Override + public Socket connectSocket(TimeValue timeValue, Socket socket, HttpHost httpHost, InetSocketAddress inetSocketAddress, + InetSocketAddress inetSocketAddress1, HttpContext httpContext) throws IOException { + return PlainConnectionSocketFactory.INSTANCE.connectSocket(timeValue, socket, httpHost, inetSocketAddress, + inetSocketAddress1, httpContext); + } }) - .register("npipe", new PlainConnectionSocketFactory() { + .register("npipe", new ConnectionSocketFactory() { @Override public Socket createSocket(HttpContext context) { return new NamedPipeSocket(dockerHost.getPath()); } + + @Override + public Socket connectSocket(TimeValue timeValue, Socket socket, HttpHost httpHost, InetSocketAddress inetSocketAddress, + InetSocketAddress inetSocketAddress1, HttpContext httpContext) throws IOException { + return PlainConnectionSocketFactory.INSTANCE.connectSocket(timeValue, socket, httpHost, inetSocketAddress, + inetSocketAddress1, httpContext); + } }) .build(); }