Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
HttpHeadersNonValidated.cs
Go to the documentation of this file.
1
using
System.Collections
;
2
using
System.Collections.Generic
;
3
4
namespace
System.Net.Http.Headers
;
5
6
public
readonly
struct
HttpHeadersNonValidated
:
IReadOnlyDictionary
<string, HeaderStringValues>,
IEnumerable
<KeyValuePair<string, HeaderStringValues>>,
IEnumerable
,
IReadOnlyCollection
<KeyValuePair<string, HeaderStringValues>>
7
{
8
public
struct
Enumerator
:
IEnumerator
<KeyValuePair<string, HeaderStringValues>>,
IEnumerator
,
IDisposable
9
{
10
private
Dictionary<HeaderDescriptor, object>
.
Enumerator
_headerStoreEnumerator
;
11
12
private
KeyValuePair<string, HeaderStringValues>
_current
;
13
14
private
bool
_valid
;
15
16
public
KeyValuePair<string, HeaderStringValues>
Current
=>
_current
;
17
18
object
IEnumerator.Current =>
_current
;
19
20
internal
Enumerator
(
Dictionary<HeaderDescriptor, object>
.
Enumerator
headerStoreEnumerator
)
21
{
22
_headerStoreEnumerator
=
headerStoreEnumerator
;
23
_current
=
default
(
KeyValuePair<string, HeaderStringValues>
);
24
_valid
=
true
;
25
}
26
27
public
bool
MoveNext
()
28
{
29
if
(
_valid
&&
_headerStoreEnumerator
.MoveNext())
30
{
31
KeyValuePair<HeaderDescriptor, object>
current =
_headerStoreEnumerator
.Current;
32
HttpHeaders
.
GetStoreValuesAsStringOrStringArray
(current.Key, current.Value,
out
var
singleValue
,
out
var
multiValue
);
33
_current
=
new
KeyValuePair<string, HeaderStringValues>
(current.Key.Name, (
singleValue
!=
null
) ?
new
HeaderStringValues
(current.Key,
singleValue
) :
new
HeaderStringValues
(current.Key,
multiValue
));
34
return
true
;
35
}
36
_current
=
default
(
KeyValuePair<string, HeaderStringValues>
);
37
return
false
;
38
}
39
40
public
void
Dispose
()
41
{
42
}
43
44
void
IEnumerator
.
Reset
()
45
{
46
throw
new
NotSupportedException
();
47
}
48
}
49
50
private
readonly
HttpHeaders
_headers
;
51
52
public
int
Count
=> (
_headers
?.
HeaderStore
?.
Count
).GetValueOrDefault();
53
54
public
HeaderStringValues
this
[
string
headerName
]
55
{
56
get
57
{
58
if
(
TryGetValues
(
headerName
,
out
var
values
))
59
{
60
return
values
;
61
}
62
throw
new
KeyNotFoundException
(
System
.
SR
.
net_http_headers_not_found
);
63
}
64
}
65
66
IEnumerable<string>
IReadOnlyDictionary<string, HeaderStringValues>
.
Keys
67
{
68
get
69
{
70
using
Enumerator
enumerator
=
GetEnumerator
();
71
while
(
enumerator
.MoveNext())
72
{
73
yield
return
enumerator
.Current.Key;
74
}
75
}
76
}
77
78
IEnumerable<HeaderStringValues>
IReadOnlyDictionary<string, HeaderStringValues>
.
Values
79
{
80
get
81
{
82
using
Enumerator
enumerator
=
GetEnumerator
();
83
while
(
enumerator
.MoveNext())
84
{
85
yield
return
enumerator
.Current.Value;
86
}
87
}
88
}
89
90
internal
HttpHeadersNonValidated
(
HttpHeaders
headers
)
91
{
92
_headers
=
headers
;
93
}
94
95
public
bool
Contains
(
string
headerName
)
96
{
97
HttpHeaders
headers
=
_headers
;
98
object
value
;
99
if
(
headers
!=
null
&&
HeaderDescriptor
.
TryGet
(
headerName
,
out
var
descriptor))
100
{
101
return
headers
.TryGetHeaderValue(descriptor,
out
value
);
102
}
103
return
false
;
104
}
105
106
bool
IReadOnlyDictionary<string, HeaderStringValues>
.
ContainsKey
(
string
key
)
107
{
108
return
Contains
(
key
);
109
}
110
111
public
bool
TryGetValues
(
string
headerName
,
out
HeaderStringValues
values
)
112
{
113
HttpHeaders
headers
=
_headers
;
114
if
(
headers
!=
null
&&
HeaderDescriptor
.
TryGet
(
headerName
,
out
var
descriptor) &&
headers
.TryGetHeaderValue(descriptor,
out
var
value
))
115
{
116
HttpHeaders
.
GetStoreValuesAsStringOrStringArray
(descriptor,
value
,
out
var
singleValue
,
out
var
multiValue
);
117
values
= ((
singleValue
!=
null
) ?
new
HeaderStringValues
(descriptor,
singleValue
) :
new
HeaderStringValues
(descriptor,
multiValue
));
118
return
true
;
119
}
120
values
=
default
(
HeaderStringValues
);
121
return
false
;
122
}
123
124
bool
IReadOnlyDictionary<string, HeaderStringValues>
.
TryGetValue
(
string
key
,
out
HeaderStringValues
value
)
125
{
126
return
TryGetValues
(
key
,
out
value
);
127
}
128
129
public
Enumerator
GetEnumerator
()
130
{
131
HttpHeaders
headers
=
_headers
;
132
if
(
headers
!=
null
)
133
{
134
Dictionary<HeaderDescriptor, object>
headerStore
=
headers
.HeaderStore;
135
if
(
headerStore
!=
null
)
136
{
137
return
new
Enumerator
(
headerStore
.
GetEnumerator
());
138
}
139
}
140
return
default
(
Enumerator
);
141
}
142
143
IEnumerator<KeyValuePair<string, HeaderStringValues>
>
IEnumerable<KeyValuePair<string, HeaderStringValues>
>.
GetEnumerator
()
144
{
145
return
GetEnumerator
();
146
}
147
148
IEnumerator
IEnumerable
.
GetEnumerator
()
149
{
150
return
GetEnumerator
();
151
}
152
}
System.Collections.Generic.Dictionary.TryGetValue
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
Definition
Dictionary.cs:1419
System.Collections.Generic.Dictionary.ContainsKey
bool ContainsKey(TKey key)
Definition
Dictionary.cs:917
System.Collections.Generic.Dictionary.Keys
KeyCollection Keys
Definition
Dictionary.cs:684
System.Collections.Generic.Dictionary.Values
ValueCollection Values
Definition
Dictionary.cs:690
System.Collections.Generic.Dictionary.Count
int Count
Definition
Dictionary.cs:682
System.Collections.Generic.Dictionary.GetEnumerator
Enumerator GetEnumerator()
Definition
Dictionary.cs:984
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Collections.Generic.KeyNotFoundException
Definition
KeyNotFoundException.cs:9
System.Net.Http.Headers.HttpHeaders.HeaderStore
Dictionary< HeaderDescriptor, object >? HeaderStore
Definition
HttpHeaders.cs:56
System.Net.Http.Headers.HttpHeaders.GetStoreValuesAsStringOrStringArray
static void GetStoreValuesAsStringOrStringArray(HeaderDescriptor descriptor, object sourceValues, out string singleValue, out string[] multiValue)
Definition
HttpHeaders.cs:919
System.Net.Http.Headers.HttpHeaders
Definition
HttpHeaders.cs:11
System.NotSupportedException
Definition
NotSupportedException.cs:9
System.SR.net_http_headers_not_found
static string net_http_headers_not_found
Definition
SR.cs:20
System.SR
Definition
SR.cs:7
System.Collections.Generic.IEnumerable.GetEnumerator
new IEnumerator< T > GetEnumerator()
System.Collections.Generic.IEnumerable
Definition
IEnumerable.cs:4
System.Collections.Generic.IEnumerator
Definition
IEnumerator.cs:4
System.Collections.Generic.IReadOnlyCollection
Definition
IReadOnlyCollection.cs:4
System.Collections.Generic.IReadOnlyDictionary
Definition
IReadOnlyDictionary.cs:6
System.Collections.IEnumerator.Reset
void Reset()
System.IDisposable
Definition
IDisposable.cs:4
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Collections
Definition
BlockingCollection.cs:8
System.Net.Http.Headers
Definition
AltSvcHeaderParser.cs:4
System.ExceptionArgument.value
@ value
System.ExceptionArgument.key
@ key
System.ExceptionArgument.values
@ values
System
Definition
BlockingCollection.cs:8
System.Collections.Generic.Dictionary.Enumerator
Definition
Dictionary.cs:137
System.Net.Http.Headers.HeaderDescriptor.TryGet
static bool TryGet(string headerName, out HeaderDescriptor descriptor)
Definition
HeaderDescriptor.cs:63
System.Net.Http.Headers.HeaderDescriptor
Definition
HeaderDescriptor.cs:9
System.Net.Http.Headers.HeaderStringValues
Definition
HeaderStringValues.cs:7
System.Net.Http.Headers.HttpHeadersNonValidated.Enumerator.MoveNext
bool MoveNext()
Definition
HttpHeadersNonValidated.cs:27
System.Net.Http.Headers.HttpHeadersNonValidated.Enumerator.Current
KeyValuePair< string, HeaderStringValues > Current
Definition
HttpHeadersNonValidated.cs:16
System.Net.Http.Headers.HttpHeadersNonValidated.Enumerator._headerStoreEnumerator
Dictionary< HeaderDescriptor, object >.Enumerator _headerStoreEnumerator
Definition
HttpHeadersNonValidated.cs:10
System.Net.Http.Headers.HttpHeadersNonValidated.Enumerator._current
KeyValuePair< string, HeaderStringValues > _current
Definition
HttpHeadersNonValidated.cs:12
System.Net.Http.Headers.HttpHeadersNonValidated.Enumerator.Enumerator
Enumerator(Dictionary< HeaderDescriptor, object >.Enumerator headerStoreEnumerator)
Definition
HttpHeadersNonValidated.cs:20
System.Net.Http.Headers.HttpHeadersNonValidated.Enumerator.Dispose
void Dispose()
Definition
HttpHeadersNonValidated.cs:40
System.Net.Http.Headers.HttpHeadersNonValidated.Enumerator._valid
bool _valid
Definition
HttpHeadersNonValidated.cs:14
System.Net.Http.Headers.HttpHeadersNonValidated.Enumerator
Definition
HttpHeadersNonValidated.cs:9
System.Net.Http.Headers.HttpHeadersNonValidated.Contains
bool Contains(string headerName)
Definition
HttpHeadersNonValidated.cs:95
System.Net.Http.Headers.HttpHeadersNonValidated._headers
readonly HttpHeaders _headers
Definition
HttpHeadersNonValidated.cs:50
System.Net.Http.Headers.HttpHeadersNonValidated.GetEnumerator
Enumerator GetEnumerator()
Definition
HttpHeadersNonValidated.cs:129
System.Net.Http.Headers.HttpHeadersNonValidated.Count
int Count
Definition
HttpHeadersNonValidated.cs:52
System.Net.Http.Headers.HttpHeadersNonValidated.TryGetValues
bool TryGetValues(string headerName, out HeaderStringValues values)
Definition
HttpHeadersNonValidated.cs:111
System.Net.Http.Headers.HttpHeadersNonValidated.HttpHeadersNonValidated
HttpHeadersNonValidated(HttpHeaders headers)
Definition
HttpHeadersNonValidated.cs:90
System.Net.Http.Headers.HttpHeadersNonValidated
Definition
HttpHeadersNonValidated.cs:7
source
System.Net.Http
System.Net.Http.Headers
HttpHeadersNonValidated.cs
Generated by
1.10.0