Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
RangeConditionHeaderValue.cs
Go to the documentation of this file.
1
using
System.Diagnostics.CodeAnalysis
;
2
3
namespace
System.Net.Http.Headers
;
4
5
public
class
RangeConditionHeaderValue
:
ICloneable
6
{
7
private
readonly
DateTimeOffset
?
_date
;
8
9
private
readonly
EntityTagHeaderValue
_entityTag
;
10
11
public
DateTimeOffset
?
Date
=>
_date
;
12
13
public
EntityTagHeaderValue
?
EntityTag
=>
_entityTag
;
14
15
public
RangeConditionHeaderValue
(
DateTimeOffset
date)
16
{
17
_date
= date;
18
}
19
20
public
RangeConditionHeaderValue
(
EntityTagHeaderValue
entityTag)
21
{
22
if
(entityTag ==
null
)
23
{
24
throw
new
ArgumentNullException
(
"entityTag"
);
25
}
26
_entityTag
= entityTag;
27
}
28
29
public
RangeConditionHeaderValue
(
string
entityTag)
30
: this(new
EntityTagHeaderValue
(entityTag))
31
{
32
}
33
34
private
RangeConditionHeaderValue
(
RangeConditionHeaderValue
source
)
35
{
36
_entityTag
=
source
._entityTag;
37
_date
=
source
._date;
38
}
39
40
public
override
string
ToString
()
41
{
42
if
(
_entityTag
==
null
)
43
{
44
return
HttpDateParser
.
DateToString
(
_date
.Value);
45
}
46
return
_entityTag
.
ToString
();
47
}
48
49
public
override
bool
Equals
([NotNullWhen(
true
)]
object
?
obj
)
50
{
51
if
(!(
obj
is
RangeConditionHeaderValue
rangeConditionHeaderValue))
52
{
53
return
false
;
54
}
55
if
(
_entityTag
==
null
)
56
{
57
if
(rangeConditionHeaderValue._date.HasValue)
58
{
59
return
_date.Value == rangeConditionHeaderValue._date.Value;
60
}
61
return
false
;
62
}
63
return
_entityTag
.
Equals
(rangeConditionHeaderValue._entityTag);
64
}
65
66
public
override
int
GetHashCode
()
67
{
68
if
(
_entityTag
==
null
)
69
{
70
return
_date
.Value.
GetHashCode
();
71
}
72
return
_entityTag
.
GetHashCode
();
73
}
74
75
public
static
RangeConditionHeaderValue
Parse
(
string
?
input
)
76
{
77
int
index
= 0;
78
return
(
RangeConditionHeaderValue
)
GenericHeaderParser
.
RangeConditionParser
.ParseValue(
input
,
null
, ref
index
);
79
}
80
81
public
static
bool
TryParse
([NotNullWhen(
true
)]
string
?
input
, [NotNullWhen(
true
)] out
RangeConditionHeaderValue
? parsedValue)
82
{
83
int
index
= 0;
84
parsedValue =
null
;
85
if
(
GenericHeaderParser
.
RangeConditionParser
.TryParseValue(
input
,
null
, ref
index
, out var parsedValue2))
86
{
87
parsedValue = (
RangeConditionHeaderValue
)parsedValue2;
88
return
true
;
89
}
90
return
false
;
91
}
92
93
internal
static
int
GetRangeConditionLength
(
string
input
,
int
startIndex
, out
object
parsedValue)
94
{
95
parsedValue =
null
;
96
if
(
string
.IsNullOrEmpty(
input
) ||
startIndex
+ 1 >=
input
.Length)
97
{
98
return
0;
99
}
100
int
num =
startIndex
;
101
DateTimeOffset
result =
DateTimeOffset
.
MinValue
;
102
EntityTagHeaderValue
parsedValue2 =
null
;
103
char
c =
input
[num];
104
char
c2 =
input
[num + 1];
105
if
(c ==
'"'
|| ((c ==
'w'
|| c ==
'W'
) && c2 ==
'/'
))
106
{
107
int
entityTagLength =
EntityTagHeaderValue
.
GetEntityTagLength
(
input
, num, out parsedValue2);
108
if
(entityTagLength == 0)
109
{
110
return
0;
111
}
112
num += entityTagLength;
113
if
(num !=
input
.Length)
114
{
115
return
0;
116
}
117
}
118
else
119
{
120
if
(!
HttpDateParser
.
TryParse
(
input
.AsSpan(num), out result))
121
{
122
return
0;
123
}
124
num =
input
.Length;
125
}
126
if
(parsedValue2 ==
null
)
127
{
128
parsedValue =
new
RangeConditionHeaderValue
(result);
129
}
130
else
131
{
132
parsedValue =
new
RangeConditionHeaderValue
(parsedValue2);
133
}
134
return
num -
startIndex
;
135
}
136
137
object
ICloneable
.
Clone
()
138
{
139
return
new
RangeConditionHeaderValue
(
this
);
140
}
141
}
System.ArgumentNullException
Definition
ArgumentNullException.cs:10
System.Net.HttpDateParser.DateToString
static string DateToString(DateTimeOffset dateTime)
Definition
HttpDateParser.cs:24
System.Net.HttpDateParser.TryParse
static bool TryParse(ReadOnlySpan< char > input, out DateTimeOffset result)
Definition
HttpDateParser.cs:14
System.Net.HttpDateParser
Definition
HttpDateParser.cs:6
System.Net.Http.Headers.EntityTagHeaderValue.ToString
override string ToString()
Definition
EntityTagHeaderValue.cs:49
System.Net.Http.Headers.EntityTagHeaderValue.GetHashCode
override int GetHashCode()
Definition
EntityTagHeaderValue.cs:71
System.Net.Http.Headers.EntityTagHeaderValue.GetEntityTagLength
static int GetEntityTagLength(string input, int startIndex, out EntityTagHeaderValue parsedValue)
Definition
EntityTagHeaderValue.cs:94
System.Net.Http.Headers.EntityTagHeaderValue.Equals
override bool Equals([NotNullWhen(true)] object? obj)
Definition
EntityTagHeaderValue.cs:58
System.Net.Http.Headers.EntityTagHeaderValue
Definition
EntityTagHeaderValue.cs:6
System.Net.Http.Headers.GenericHeaderParser.RangeConditionParser
static readonly GenericHeaderParser RangeConditionParser
Definition
GenericHeaderParser.cs:27
System.Net.Http.Headers.GenericHeaderParser
Definition
GenericHeaderParser.cs:6
System.Net.Http.Headers.RangeConditionHeaderValue.TryParse
static bool TryParse([NotNullWhen(true)] string? input, [NotNullWhen(true)] out RangeConditionHeaderValue? parsedValue)
Definition
RangeConditionHeaderValue.cs:81
System.Net.Http.Headers.RangeConditionHeaderValue.Equals
override bool Equals([NotNullWhen(true)] object? obj)
Definition
RangeConditionHeaderValue.cs:49
System.Net.Http.Headers.RangeConditionHeaderValue._date
readonly? DateTimeOffset _date
Definition
RangeConditionHeaderValue.cs:7
System.Net.Http.Headers.RangeConditionHeaderValue.ToString
override string ToString()
Definition
RangeConditionHeaderValue.cs:40
System.Net.Http.Headers.RangeConditionHeaderValue.RangeConditionHeaderValue
RangeConditionHeaderValue(EntityTagHeaderValue entityTag)
Definition
RangeConditionHeaderValue.cs:20
System.Net.Http.Headers.RangeConditionHeaderValue.Parse
static RangeConditionHeaderValue Parse(string? input)
Definition
RangeConditionHeaderValue.cs:75
System.Net.Http.Headers.RangeConditionHeaderValue._entityTag
readonly EntityTagHeaderValue _entityTag
Definition
RangeConditionHeaderValue.cs:9
System.Net.Http.Headers.RangeConditionHeaderValue.RangeConditionHeaderValue
RangeConditionHeaderValue(string entityTag)
Definition
RangeConditionHeaderValue.cs:29
System.Net.Http.Headers.RangeConditionHeaderValue.RangeConditionHeaderValue
RangeConditionHeaderValue(RangeConditionHeaderValue source)
Definition
RangeConditionHeaderValue.cs:34
System.Net.Http.Headers.RangeConditionHeaderValue.EntityTag
EntityTagHeaderValue? EntityTag
Definition
RangeConditionHeaderValue.cs:13
System.Net.Http.Headers.RangeConditionHeaderValue.Date
DateTimeOffset? Date
Definition
RangeConditionHeaderValue.cs:11
System.Net.Http.Headers.RangeConditionHeaderValue.GetRangeConditionLength
static int GetRangeConditionLength(string input, int startIndex, out object parsedValue)
Definition
RangeConditionHeaderValue.cs:93
System.Net.Http.Headers.RangeConditionHeaderValue.GetHashCode
override int GetHashCode()
Definition
RangeConditionHeaderValue.cs:66
System.Net.Http.Headers.RangeConditionHeaderValue.RangeConditionHeaderValue
RangeConditionHeaderValue(DateTimeOffset date)
Definition
RangeConditionHeaderValue.cs:15
System.Net.Http.Headers.RangeConditionHeaderValue
Definition
RangeConditionHeaderValue.cs:6
System.ICloneable.Clone
object Clone()
System.ICloneable
Definition
ICloneable.cs:4
System.Diagnostics.CodeAnalysis
Definition
AllowNullAttribute.cs:1
System.Net.Http.Headers
Definition
AltSvcHeaderParser.cs:4
System.ExceptionArgument.startIndex
@ startIndex
System.ExceptionArgument.source
@ source
System.ExceptionArgument.index
@ index
System.ExceptionArgument.input
@ input
System.ExceptionArgument.obj
@ obj
System.DateTimeOffset.GetHashCode
override int GetHashCode()
Definition
DateTimeOffset.cs:339
System.DateTimeOffset.MinValue
static readonly DateTimeOffset MinValue
Definition
DateTimeOffset.cs:15
System.DateTimeOffset
Definition
DateTimeOffset.cs:14
source
System.Net.Http
System.Net.Http.Headers
RangeConditionHeaderValue.cs
Generated by
1.10.0