[API Proposal]: Adding headers with a method
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start with HttpClient.DefaultRequestHeaders and the proposed HttpClientExtensions.AddHeader signature. Review the requested dictionary-based convenience API, including its return type, null handling, duplicate-header behavior, and naming. Done means an agreed API design with clear acceptance criteria.
Written by the indexing model from the issue text.
Description
Background and motivation
Firstly when I had many headers to add for my httpclient defaultHeader, I was adding them in seprate lines, then I looked for a method and I did not find that so I created a method that takes a Dictionary of string and in that method by foreach I added the keys and values to default header.
This approach made my code cleaner.
@karelz
API Proposal
namespace System.Net.Http.System.Net.Http
{
public static class HttpClientExtensions
{
public static Task AddHeader(this HttpClient httpclinet, Dictionary<string, string> dictionary)
{
if (dictionary == null)
return;
foreach (var item in dictionary)
{
if (!client.DefaultRequestHeaders.Contains(header.Key))
{
httpclinet.DefaultRequestHeaders.Add(item.Key, item.Value);
}
}
return Task.CompletedTask;
}
}
}
API Usage
using(var client = new HttpClient()){
var headers = new Dictionary<string,string>(){
{"X-Authorization":"abcd"},
{"X-gateway","Payment"}
};
client.AddHeader(headers);
client.post();
}
Alternative Designs
No response
Risks
No response
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dotnet/runtime
-
agentic-workflows untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
area-System.Reflection blocking-clean-ci-optional Known Build Error os-mac-os-x untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
area-CodeGen-coreclr untriaged
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
agentic-workflows untriaged
Difficulty 1/5 Under an hour Newbie friendliness 78/100
-
area-VM-meta-mono untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SubtitleEdit/subtitleedit#15108 · 1 comment ·
-
area/docs-content Bug pulumi/docs
Difficulty 1/5 1-3 hours Newbie friendliness 94/100
-
Create parent directories only after the containment check in InstallHelper.TryExtractToDirectory Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PowerShell/PSResourceGet#2056 ·