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

◆ ParseLiteralHeaderField()

void System.Net.Http.HPack.HPackDecoder.ParseLiteralHeaderField ( ReadOnlySpan< byte > data,
ref int currentIndex,
byte b,
byte mask,
byte indexPrefix,
bool index,
IHttpHeadersHandler handler )
inlineprivate

Definition at line 278 of file HPackDecoder.cs.

279 {
280 _headersObserved = true;
281 _index = index;
282 int num = b & ~mask;
283 int result;
284 if (num == 0)
285 {
286 _state = State.HeaderNameLength;
287 ParseHeaderNameLength(data, ref currentIndex, handler);
288 }
289 else if (_integerDecoder.BeginTryDecode((byte)num, indexPrefix, out result))
290 {
291 OnIndexedHeaderName(result);
292 ParseHeaderValueLength(data, ref currentIndex, handler);
293 }
294 else
295 {
296 _state = State.HeaderNameIndex;
297 ParseHeaderNameIndex(data, ref currentIndex, handler);
298 }
299 }
void ParseHeaderValueLength(ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler)
void ParseHeaderNameLength(ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler)
void ParseHeaderNameIndex(ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler)
bool BeginTryDecode(byte b, int prefixLength, out int result)

References System.Net.Http.HPack.HPackDecoder._headersObserved, System.Net.Http.HPack.HPackDecoder._index, System.Net.Http.HPack.HPackDecoder._integerDecoder, System.Net.Http.HPack.HPackDecoder._state, System.Net.Http.HPack.IntegerDecoder.BeginTryDecode(), System.index, System.Net.Http.HPack.HPackDecoder.OnIndexedHeaderName(), System.Net.Http.HPack.HPackDecoder.ParseHeaderNameIndex(), System.Net.Http.HPack.HPackDecoder.ParseHeaderNameLength(), and System.Net.Http.HPack.HPackDecoder.ParseHeaderValueLength().

Referenced by System.Net.Http.HPack.HPackDecoder.Parse().