How to extract custom header value?
Asked Answered
E

3

78

I have this exact code from the accepted answer in my project which I need to migrate into ASP.NET Core MVP.

How to extract custom header value in Web API message handler?

var env = Request.Headers.GetValues("environment").First();

How can I implement this in .NET Core?

I hope this is not considered to be a duplicate question because I am trying to do this with the new system rather than the old one. I would also be fine if someone adds an answer to the link regarding the current version.

Edit: Where all types for http headers gone in ASP.NET 5? I tried this link but API may have changed. I don't think this is a duplicate for that question either.

Enyo answered 5/8, 2016 at 17:21 Comment(0)
F
105

Request.Headers returns Microsoft.AspNetCore.Http.IHeaderDictionary interface that define next property:

StringValues this[string key] { get; set; }

IHeaderDictionary has a different indexer contract than IDictionary, where it will return StringValues.Empty for missing entries.

Return type: Microsoft.Extensions.Primitives.StringValues

Returns: The stored value, or StringValues.Empty if the key is not present.

So, you can simply use Request.Headers["environment"] to get value of "environment" header

Fidele answered 5/8, 2016 at 21:21 Comment(0)
R
18

Since this answer is viewed quite a lot, you can also access this fields by using attributes in the parameters. Here is an example:

enter image description here

In the request you can access any fields in the body, queryString or headers. Here is the Postman example regarding the authorization header:

enter image description here

Rally answered 16/3, 2021 at 23:43 Comment(0)
P
0

you can use this:

Request.Headers.TryGetValue("environment", out var headerValue);
Porta answered 21/12, 2023 at 17:36 Comment(1)
Thank you for contributing to the Stack Overflow community. This may be a correct answer, but it’d be really useful to provide additional explanation of your code so developers can understand your reasoning. This is especially useful for new developers who aren’t as familiar with the syntax or struggling to understand the concepts. Would you kindly edit your answer to include additional details for the benefit of the community?Villasenor

© 2022 - 2024 — McMap. All rights reserved.