Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Toub <stoub@microsoft.com>2020-04-27 23:35:42 +0300
committerGitHub <noreply@github.com>2020-04-27 23:35:42 +0300
commit6d1f7e01d3429054ec3dcb7c75b3450b9fe1429e (patch)
treef7ac893270cbd91153e379ef32b4bfe8219e8396
parent0ce44af8241fafb5c6080b111cc00391308db681 (diff)
add correct value when cloning http headers (#35498) (#35510)
* add correct value when cloning http headers * Address PR feedback Co-authored-by: Tomas Weinfurt <furt@Shining.local> Co-authored-by: Stephen Toub <stoub@microsoft.com> Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com> Co-authored-by: Tomas Weinfurt <furt@Shining.local>
-rw-r--r--src/libraries/System.Net.Http/src/System/Net/Http/Headers/HttpHeaders.cs2
-rw-r--r--src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Headers.cs27
2 files changed, 28 insertions, 1 deletions
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/Headers/HttpHeaders.cs b/src/libraries/System.Net.Http/src/System/Net/Http/Headers/HttpHeaders.cs
index 7ba6b353240..ac0849f5824 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/Headers/HttpHeaders.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/Headers/HttpHeaders.cs
@@ -161,7 +161,7 @@ namespace System.Net.Http.Headers
else
{
// The header store did not contain the header. Add the raw string.
- _headerStore.Add(descriptor, _forceHeaderStoreItems ? new HeaderStoreItemInfo { RawValue = currentValue } : (object)value);
+ _headerStore.Add(descriptor, _forceHeaderStoreItems ? new HeaderStoreItemInfo { RawValue = value } : (object)value);
}
return true;
diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Headers.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Headers.cs
index b66becd57b4..48cc1cee5f2 100644
--- a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Headers.cs
+++ b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Headers.cs
@@ -45,6 +45,33 @@ namespace System.Net.Http.Functional.Tests
});
}
+ [Fact]
+ public async Task SendAsync_DefaultHeaders_CorrectlyWritten()
+ {
+ const string Version = "2017-04-17";
+ const string Blob = "BlockBlob";
+
+ await LoopbackServerFactory.CreateClientAndServerAsync(async uri =>
+ {
+ using (HttpClient client = CreateHttpClient())
+ {
+ client.DefaultRequestHeaders.TryAddWithoutValidation("x-ms-version", Version);
+ client.DefaultRequestHeaders.Add("x-ms-blob-type", Blob);
+ var message = new HttpRequestMessage(HttpMethod.Get, uri) { Version = UseVersion };
+ (await client.SendAsync(message).ConfigureAwait(false)).Dispose();
+ }
+ },
+ async server =>
+ {
+ HttpRequestData requestData = await server.HandleRequestAsync(HttpStatusCode.OK);
+
+ string headerValue = requestData.GetSingleHeaderValue("x-ms-blob-type");
+ Assert.Equal(Blob, headerValue);
+ headerValue = requestData.GetSingleHeaderValue("x-ms-version");
+ Assert.Equal(Version, Version);
+ });
+ }
+
[Theory]
[InlineData("\u05D1\u05F1")]
[InlineData("jp\u30A5")]