Allow 'npipe://' prefix in Docker host address
Update `LocalHttpClientTransport` to support explicit `npipe://` prefix in the host name. This is the format used in the Docker config from v4.31.1 onward. Fixes gh-41199
This commit is contained in:
@@ -116,6 +116,8 @@ final class LocalHttpClientTransport extends HttpClientTransport {
|
||||
*/
|
||||
private static class LocalConnectionSocketFactory implements ConnectionSocketFactory {
|
||||
|
||||
private static final String NPIPE_PREFIX = "npipe://";
|
||||
|
||||
private final String host;
|
||||
|
||||
LocalConnectionSocketFactory(String host) {
|
||||
@@ -124,10 +126,10 @@ final class LocalHttpClientTransport extends HttpClientTransport {
|
||||
|
||||
@Override
|
||||
public Socket createSocket(HttpContext context) throws IOException {
|
||||
if (Platform.isWindows()) {
|
||||
return NamedPipeSocket.get(this.host);
|
||||
if (this.host.startsWith(NPIPE_PREFIX)) {
|
||||
return NamedPipeSocket.get(this.host.substring(NPIPE_PREFIX.length()));
|
||||
}
|
||||
return DomainSocket.get(this.host);
|
||||
return (!Platform.isWindows()) ? DomainSocket.get(this.host) : NamedPipeSocket.get(this.host);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user