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);