From 1d33910f55884301425ad7fe6316f7adbd99756e Mon Sep 17 00:00:00 2001 From: CarloToso <105941898+CarloToso@users.noreply.github.com> Date: Thu, 4 May 2023 23:32:43 +0200 Subject: [PATCH 1/3] verbose show correct HTTP version --- .../Common/WebRequestPSCmdlet.Common.cs | 30 ++++++------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs index 60ee931591a..ffb27a4601f 100644 --- a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs +++ b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs @@ -550,21 +550,15 @@ protected override void ProcessRecord() FillRequestStream(request); try { - long requestContentLength = request.Content is null ? 0 : request.Content.Headers.ContentLength.Value; - - string reqVerboseMsg = string.Format( - CultureInfo.CurrentCulture, - WebCmdletStrings.WebMethodInvocationVerboseMsg, - request.Version, - request.Method, - requestContentLength); - - WriteVerbose(reqVerboseMsg); - _maximumRedirection = WebSession.MaximumRedirection; using HttpResponseMessage response = GetResponse(client, request, handleRedirect); + long requestContentLength = request.Content is null ? 0 : request.Content.Headers.ContentLength.Value; + string reqVerboseMsg = string.Format(CultureInfo.CurrentCulture, WebCmdletStrings.WebMethodInvocationVerboseMsg, response.Version, request.Method, requestContentLength); + + WriteVerbose(reqVerboseMsg); + string contentType = ContentHelper.GetContentType(response); long? contentLength = response.Content.Headers.ContentLength; string respVerboseMsg = contentLength is null @@ -1314,19 +1308,13 @@ internal virtual HttpResponseMessage GetResponse(HttpClient client, HttpRequestM { FillRequestStream(requestWithoutRange); - long requestContentLength = requestWithoutRange.Content is null ? 0 : requestWithoutRange.Content.Headers.ContentLength.Value; + response.Dispose(); + response = GetResponse(client, requestWithoutRange, handleRedirect); - string reqVerboseMsg = string.Format( - CultureInfo.CurrentCulture, - WebCmdletStrings.WebMethodInvocationVerboseMsg, - requestWithoutRange.Version, - requestWithoutRange.Method, - requestContentLength); + long requestContentLength = requestWithoutRange.Content is null ? 0 : requestWithoutRange.Content.Headers.ContentLength.Value; + string reqVerboseMsg = string.Format(CultureInfo.CurrentCulture, WebCmdletStrings.WebMethodInvocationVerboseMsg, response.Version, requestWithoutRange.Method, requestContentLength); WriteVerbose(reqVerboseMsg); - - response.Dispose(); - response = GetResponse(client, requestWithoutRange, handleRedirect); } } From ad5ed85d91c724f1a65b60073654985520542fc8 Mon Sep 17 00:00:00 2001 From: CarloToso <105941898+CarloToso@users.noreply.github.com> Date: Mon, 8 May 2023 22:13:47 +0200 Subject: [PATCH 2/3] Follow suggestion --- .../Common/WebRequestPSCmdlet.Common.cs | 34 +++++++++++++------ .../resources/WebCmdletStrings.resx | 6 ++-- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs index ffb27a4601f..44ef41cc8cd 100644 --- a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs +++ b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs @@ -550,20 +550,26 @@ protected override void ProcessRecord() FillRequestStream(request); try { - _maximumRedirection = WebSession.MaximumRedirection; - - using HttpResponseMessage response = GetResponse(client, request, handleRedirect); - long requestContentLength = request.Content is null ? 0 : request.Content.Headers.ContentLength.Value; - string reqVerboseMsg = string.Format(CultureInfo.CurrentCulture, WebCmdletStrings.WebMethodInvocationVerboseMsg, response.Version, request.Method, requestContentLength); + + string reqVerboseMsg = string.Format( + CultureInfo.CurrentCulture, + WebCmdletStrings.WebMethodInvocationVerboseMsg, + request.Version, + request.Method, + requestContentLength); WriteVerbose(reqVerboseMsg); + _maximumRedirection = WebSession.MaximumRedirection; + + using HttpResponseMessage response = GetResponse(client, request, handleRedirect); + string contentType = ContentHelper.GetContentType(response); long? contentLength = response.Content.Headers.ContentLength; string respVerboseMsg = contentLength is null - ? string.Format(CultureInfo.CurrentCulture, WebCmdletStrings.WebResponseNoSizeVerboseMsg, contentType) - : string.Format(CultureInfo.CurrentCulture, WebCmdletStrings.WebResponseVerboseMsg, contentLength, contentType); + ? string.Format(CultureInfo.CurrentCulture, WebCmdletStrings.WebResponseNoSizeVerboseMsg, response.Version, contentType) + : string.Format(CultureInfo.CurrentCulture, WebCmdletStrings.WebResponseVerboseMsg, response.Version, contentLength, contentType); WriteVerbose(respVerboseMsg); @@ -1308,13 +1314,19 @@ internal virtual HttpResponseMessage GetResponse(HttpClient client, HttpRequestM { FillRequestStream(requestWithoutRange); - response.Dispose(); - response = GetResponse(client, requestWithoutRange, handleRedirect); - long requestContentLength = requestWithoutRange.Content is null ? 0 : requestWithoutRange.Content.Headers.ContentLength.Value; - string reqVerboseMsg = string.Format(CultureInfo.CurrentCulture, WebCmdletStrings.WebMethodInvocationVerboseMsg, response.Version, requestWithoutRange.Method, requestContentLength); + + string reqVerboseMsg = string.Format( + CultureInfo.CurrentCulture, + WebCmdletStrings.WebMethodInvocationVerboseMsg, + requestWithoutRange.Version, + requestWithoutRange.Method, + requestContentLength); WriteVerbose(reqVerboseMsg); + + response.Dispose(); + response = GetResponse(client, requestWithoutRange, handleRedirect); } } diff --git a/src/Microsoft.PowerShell.Commands.Utility/resources/WebCmdletStrings.resx b/src/Microsoft.PowerShell.Commands.Utility/resources/WebCmdletStrings.resx index 4236ba80791..6e73043747e 100644 --- a/src/Microsoft.PowerShell.Commands.Utility/resources/WebCmdletStrings.resx +++ b/src/Microsoft.PowerShell.Commands.Utility/resources/WebCmdletStrings.resx @@ -235,16 +235,16 @@ Following rel link {0} - HTTP/{0} {1} with {2}-byte payload + Requested HTTP/{0} {1} with {2}-byte payload The remote server indicated it could not resume downloading. The local file will be overwritten. - received {0}-byte response of content type {1} + Received HTTP/{0} {1}-byte response of content type {2} - received response of content type {0} of unknown size + Received HTTP/{0} response of content type {1} of unknown size Retrying after interval of {0} seconds. Status code for previous attempt: {1} From 27a8e79270f32b6179f17112cb8d5091e82841f1 Mon Sep 17 00:00:00 2001 From: CarloToso <105941898+CarloToso@users.noreply.github.com> Date: Mon, 8 May 2023 22:15:46 +0200 Subject: [PATCH 3/3] fix spaces --- .../WebCmdlet/Common/WebRequestPSCmdlet.Common.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs index 44ef41cc8cd..a88055df913 100644 --- a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs +++ b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/Common/WebRequestPSCmdlet.Common.cs @@ -1317,11 +1317,11 @@ internal virtual HttpResponseMessage GetResponse(HttpClient client, HttpRequestM long requestContentLength = requestWithoutRange.Content is null ? 0 : requestWithoutRange.Content.Headers.ContentLength.Value; string reqVerboseMsg = string.Format( - CultureInfo.CurrentCulture, - WebCmdletStrings.WebMethodInvocationVerboseMsg, - requestWithoutRange.Version, - requestWithoutRange.Method, - requestContentLength); + CultureInfo.CurrentCulture, + WebCmdletStrings.WebMethodInvocationVerboseMsg, + requestWithoutRange.Version, + requestWithoutRange.Method, + requestContentLength); WriteVerbose(reqVerboseMsg);