Skip to content

TryAddWithoutValidation works differently for HttpClient.DefaultRequestHeaders and HttpRequestMessage.Headers #49463

@AbeniMatteo

Description

@AbeniMatteo

Description

Header in HttpClient.DefaultRequestHeaders is formatted and sent as en-US, en; q=0.5 (note the spaces).

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, new Uri("http://localhost/"));
client.DefaultRequestHeaders.TryAddWithoutValidation("Accept-Language", "en-US,en;q=0.5");
client.Send(request);

Header in HttpRequestMessage.Headers is untouched and sent as en-US,en;q=0.5.

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, new Uri("http://localhost/"));
request.Headers.TryAddWithoutValidation("Accept-Language", "en-US,en;q=0.5");
client.Send(request);

Configuration

.NET 5

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions