Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
HeaderStringValues.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
HeaderStringValues
:
IReadOnlyCollection
<string>,
IEnumerable
<string>,
IEnumerable
7
{
8
public
struct
Enumerator
:
IEnumerator
<string>,
IEnumerator
,
IDisposable
9
{
10
private
readonly
string
[]
_values
;
11
12
private
string
_current
;
13
14
private
int
_index
;
15
16
public
string
Current
=>
_current
;
17
18
object
IEnumerator.Current =>
Current
;
19
20
internal
Enumerator
(
object
value
)
21
{
22
if
(
value
is
string
current)
23
{
24
_values
=
null
;
25
_current
= current;
26
}
27
else
28
{
29
_values
=
value
as
string
[];
30
_current
=
null
;
31
}
32
_index
= 0;
33
}
34
35
public
bool
MoveNext
()
36
{
37
int
index
=
_index
;
38
if
(
index
< 0)
39
{
40
return
false
;
41
}
42
string
[]
values
=
_values
;
43
if
(
values
!=
null
)
44
{
45
if
((uint)
index
< (uint)
values
.Length)
46
{
47
_index
=
index
+ 1;
48
_current
=
values
[
index
];
49
return
true
;
50
}
51
_index
= -1;
52
return
false
;
53
}
54
_index
= -1;
55
return
_current
!=
null
;
56
}
57
58
public
void
Dispose
()
59
{
60
}
61
62
void
IEnumerator
.
Reset
()
63
{
64
throw
new
NotSupportedException
();
65
}
66
}
67
68
private
readonly
HeaderDescriptor
_header
;
69
70
private
readonly
object
_value
;
71
72
public
int
Count
73
{
74
get
75
{
76
object
value
=
_value
;
77
if
(!(
value
is
string
))
78
{
79
if
(
value
is
string
[]
array
)
80
{
81
return
array
.Length;
82
}
83
return
0;
84
}
85
return
1;
86
}
87
}
88
89
internal
HeaderStringValues
(
HeaderDescriptor
descriptor,
string
value
)
90
{
91
_header
= descriptor;
92
_value
=
value
;
93
}
94
95
internal
HeaderStringValues
(
HeaderDescriptor
descriptor,
string
[]
values
)
96
{
97
_header
= descriptor;
98
_value
=
values
;
99
}
100
101
public
override
string
ToString
()
102
{
103
object
value
=
_value
;
104
if
(!(
value
is
string
result))
105
{
106
if
(
value
is
string
[]
value2
)
107
{
108
HttpHeaderParser
parser
=
_header
.
Parser
;
109
return
string
.Join((
parser
!=
null
&&
parser
.SupportsMultipleValues) ?
parser
.Separator :
", "
,
value2
);
110
}
111
return
string
.Empty;
112
}
113
return
result;
114
}
115
116
public
Enumerator
GetEnumerator
()
117
{
118
return
new
Enumerator
(
_value
);
119
}
120
121
IEnumerator<string>
IEnumerable<string>
.
GetEnumerator
()
122
{
123
return
GetEnumerator
();
124
}
125
126
IEnumerator
IEnumerable
.
GetEnumerator
()
127
{
128
return
GetEnumerator
();
129
}
130
}
System.Collections.Generic.Dictionary.GetEnumerator
Enumerator GetEnumerator()
Definition
Dictionary.cs:984
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Net.Http.Headers.HttpHeaderParser
Definition
HttpHeaderParser.cs:8
System.NotSupportedException
Definition
NotSupportedException.cs:9
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.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.index
@ index
System.ExceptionArgument.values
@ values
System.ExceptionArgument.array
@ array
System.Net.Http.Headers.HeaderDescriptor.Parser
HttpHeaderParser Parser
Definition
HeaderDescriptor.cs:16
System.Net.Http.Headers.HeaderDescriptor
Definition
HeaderDescriptor.cs:9
System.Net.Http.Headers.HeaderStringValues.Enumerator.Current
string Current
Definition
HeaderStringValues.cs:16
System.Net.Http.Headers.HeaderStringValues.Enumerator._current
string _current
Definition
HeaderStringValues.cs:12
System.Net.Http.Headers.HeaderStringValues.Enumerator.Dispose
void Dispose()
Definition
HeaderStringValues.cs:58
System.Net.Http.Headers.HeaderStringValues.Enumerator._values
readonly string[] _values
Definition
HeaderStringValues.cs:10
System.Net.Http.Headers.HeaderStringValues.Enumerator.Enumerator
Enumerator(object value)
Definition
HeaderStringValues.cs:20
System.Net.Http.Headers.HeaderStringValues.Enumerator.Current
object IEnumerator. Current
Definition
HeaderStringValues.cs:18
System.Net.Http.Headers.HeaderStringValues.Enumerator._index
int _index
Definition
HeaderStringValues.cs:14
System.Net.Http.Headers.HeaderStringValues.Enumerator.MoveNext
bool MoveNext()
Definition
HeaderStringValues.cs:35
System.Net.Http.Headers.HeaderStringValues.Enumerator
Definition
HeaderStringValues.cs:9
System.Net.Http.Headers.HeaderStringValues.HeaderStringValues
HeaderStringValues(HeaderDescriptor descriptor, string[] values)
Definition
HeaderStringValues.cs:95
System.Net.Http.Headers.HeaderStringValues.ToString
override string ToString()
Definition
HeaderStringValues.cs:101
System.Net.Http.Headers.HeaderStringValues.Count
int Count
Definition
HeaderStringValues.cs:73
System.Net.Http.Headers.HeaderStringValues._header
readonly HeaderDescriptor _header
Definition
HeaderStringValues.cs:68
System.Net.Http.Headers.HeaderStringValues._value
readonly object _value
Definition
HeaderStringValues.cs:70
System.Net.Http.Headers.HeaderStringValues.HeaderStringValues
HeaderStringValues(HeaderDescriptor descriptor, string value)
Definition
HeaderStringValues.cs:89
System.Net.Http.Headers.HeaderStringValues.GetEnumerator
Enumerator GetEnumerator()
Definition
HeaderStringValues.cs:116
System.Net.Http.Headers.HeaderStringValues
Definition
HeaderStringValues.cs:7
source
System.Net.Http
System.Net.Http.Headers
HeaderStringValues.cs
Generated by
1.10.0