microsoft/teams.net

Public

mirrored fromhttps://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
aacebo/mcp-client

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Libraries/Microsoft.Teams.Common/Http/HttpRequestOptions.cs

54lines · modecode

1namespace Microsoft.Teams.Common.Http;
2
3using IHttpHeaders = IDictionary<string, IList<string>>;
4
5public interface IHttpRequestOptions
6{
7 public IHttpHeaders Headers { get; set; }
8
9 public void AddUserAgent(IList<string> value);
10 public void AddUserAgent(params string[] value);
11 public void AddHeader(string key, IList<string> value);
12 public void AddHeader(string key, params string[] value);
13}
14
15public class HttpRequestOptions : IHttpRequestOptions
16{
17 public IHttpHeaders Headers { get; set; } = new Dictionary<string, IList<string>>();
18
19 public void AddUserAgent(IList<string> value)
20 {
21 AddHeader("User-Agent", value);
22 }
23
24 public void AddUserAgent(params string[] value)
25 {
26 AddHeader("User-Agent", value);
27 }
28
29 public void AddHeader(string key, IList<string> value)
30 {
31 Headers.TryGetValue(key, out IList<string>? values);
32 values ??= [];
33
34 foreach (var headerValue in value)
35 {
36 values.Add(headerValue);
37 }
38
39 Headers.Add(key, values);
40 }
41
42 public void AddHeader(string key, params string[] value)
43 {
44 Headers.TryGetValue(key, out IList<string>? values);
45 values ??= [];
46
47 foreach (var headerValue in value)
48 {
49 values.Add(headerValue);
50 }
51
52 Headers.Add(key, values);
53 }
54}