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;
});
}
+ [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")]