diff --git a/src/Docker.DotNet/DockerClient.cs b/src/Docker.DotNet/DockerClient.cs index aab4e70c..83891ca2 100644 --- a/src/Docker.DotNet/DockerClient.cs +++ b/src/Docker.DotNet/DockerClient.cs @@ -386,8 +386,8 @@ internal async Task MakeRequestForHijackedStreamAsync( headers = new Dictionary(); } - headers.Add("Connection", "tcp"); - headers.Add("Upgrade", "Upgrade"); + headers.Add("Upgrade", "tcp"); + headers.Add("Connection", "Upgrade"); var response = await PrivateMakeRequestAsync(timeout, HttpCompletionOption.ResponseHeadersRead, method, path, queryString, headers, body, cancellationToken) .ConfigureAwait(false); diff --git a/src/Docker.DotNet/Microsoft.Net.Http.Client/ManagedHandler.cs b/src/Docker.DotNet/Microsoft.Net.Http.Client/ManagedHandler.cs index eee9198d..728cf6eb 100644 --- a/src/Docker.DotNet/Microsoft.Net.Http.Client/ManagedHandler.cs +++ b/src/Docker.DotNet/Microsoft.Net.Http.Client/ManagedHandler.cs @@ -141,7 +141,7 @@ private async Task ProcessRequestAsync(HttpRequestMessage r ProcessUrl(request); ProcessHostHeader(request); - request.Headers.ConnectionClose = true; // TODO: Connection re-use is not supported. + request.Headers.ConnectionClose = !request.Headers.Contains("Connection"); // TODO: Connection reuse is not supported. ProxyMode proxyMode = DetermineProxyModeAndAddressLine(request); Socket socket;