diff --git a/src/libraries/Common/tests/System/Net/Http/Http2LoopbackConnection.cs b/src/libraries/Common/tests/System/Net/Http/Http2LoopbackConnection.cs index fbba51f0209b969f65cf0ee2c8c158871c744f37..75415dcc977987f6b30f5225f4bce17bc06f8a25 100644 --- a/src/libraries/Common/tests/System/Net/Http/Http2LoopbackConnection.cs +++ b/src/libraries/Common/tests/System/Net/Http/Http2LoopbackConnection.cs @@ -103,7 +103,7 @@ private async Task ReadPrefixAsync() await _connectionStream.WriteAsync("HTTP/2.0 400 Bad Request\r\n\r\n"u8.ToArray()); _connectionSocket.Shutdown(SocketShutdown.Send); // If WinHTTP doesn't support streaming a request without a length then it will fallback - // to HTTP/1.1. Throwing an exception to detect this case in WinHttpHandler tests. + // to HTTP/1.1. Throwing an exception to detect this case in WinHttpHandler tests. throw new Exception("HTTP/1.1 request sent to HTTP/2 connection."); } } diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs index 9dc706680c9b2dfd92c885f04cd77f4a75c70f27..40c27f5ebb49e700f3168a9857413b48afbeba13 100644 --- a/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs +++ b/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs @@ -1424,7 +1424,7 @@ private void WriteHeaders(HttpRequestMessage request, ref ArrayBuffer headerBuff WriteIndexedHeader(H2StaticTable.MethodGet, normalizedMethod.Method, ref headerBuffer); } - WriteIndexedHeader(_stream is SslStream ? H2StaticTable.SchemeHttps : H2StaticTable.SchemeHttp, ref headerBuffer); + WriteIndexedHeader(_pool.IsSecure ? H2StaticTable.SchemeHttps : H2StaticTable.SchemeHttp, ref headerBuffer); if (request.HasHeaders && request.Headers.Host != null) { diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/SocketsHttpHandlerTest.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/SocketsHttpHandlerTest.cs index 6248cf3c9ca548afe1cc874ff989f17df9a1f0a0..6797e8e07a82b5f53858a4a1338d12eeba1d4d81 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/SocketsHttpHandlerTest.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/SocketsHttpHandlerTest.cs @@ -3193,7 +3193,12 @@ public async Task PlaintextStreamFilter_SimpleDelegatingStream_Success(bool useS }, async server => { - await server.AcceptConnectionSendResponseAndCloseAsync(content: "foo"); + HttpRequestData request = await server.AcceptConnectionSendResponseAndCloseAsync(content: "foo"); + if (request.Version == HttpVersion20.Value) + { + HttpHeaderData schemeHeader = Assert.Single(request.Headers, headerData => headerData.Name == ":scheme"); + Assert.Equal(useSsl ? "https" : "http", schemeHeader.Value); + } }, options: options); }