Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetHeaderValue()

string System.Net.Http.Headers.HeaderDescriptor.GetHeaderValue ( ReadOnlySpan< byte > headerValue,
Encoding valueEncoding )
inline

Definition at line 115 of file HeaderDescriptor.cs.

116 {
117 if (headerValue.Length == 0)
118 {
119 return string.Empty;
120 }
121 if (_knownHeader != null)
122 {
123 string[] knownValues = _knownHeader.KnownValues;
124 if (knownValues != null)
125 {
126 for (int i = 0; i < knownValues.Length; i++)
127 {
128 if (ByteArrayHelpers.EqualsOrdinalAsciiIgnoreCase(knownValues[i], headerValue))
129 {
130 return knownValues[i];
131 }
132 }
133 }
134 string decoded;
135 if (_knownHeader == KnownHeaders.ContentType)
136 {
137 string knownContentType = GetKnownContentType(headerValue);
138 if (knownContentType != null)
139 {
140 return knownContentType;
141 }
142 }
143 else if (_knownHeader == KnownHeaders.Location && TryDecodeUtf8(headerValue, out decoded))
144 {
145 return decoded;
146 }
147 }
148 return (valueEncoding ?? HttpRuleParser.DefaultHttpEncoding).GetString(headerValue);
149 }
static string GetKnownContentType(ReadOnlySpan< byte > contentTypeValue)
static bool TryDecodeUtf8(ReadOnlySpan< byte > input, [NotNullWhen(true)] out string decoded)

References System.Net.Http.Headers.HeaderDescriptor._knownHeader, System.Net.Http.Headers.KnownHeaders.ContentType, System.Net.Http.HttpRuleParser.DefaultHttpEncoding, System.ByteArrayHelpers.EqualsOrdinalAsciiIgnoreCase(), System.Net.Http.Headers.HeaderDescriptor.GetKnownContentType(), System.Net.Http.Headers.KnownHeader.KnownValues, System.ReadOnlySpan< T >.Length, System.Net.Http.Headers.KnownHeaders.Location, and System.Net.Http.Headers.HeaderDescriptor.TryDecodeUtf8().

Referenced by System.Net.Http.HttpConnectionBase.GetResponseHeaderValueWithCaching(), and System.Net.Http.Http2Connection.Http2Stream.OnHeader().