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

◆ BufferHeaders()

void System.Net.Http.Http3RequestStream.BufferHeaders ( HttpRequestMessage request)
inlineprivate

Definition at line 538 of file Http3RequestStream.cs.

539 {
540 _sendBuffer.Commit(9);
541 _sendBuffer.EnsureAvailableSpace(2);
542 _sendBuffer.AvailableSpan[0] = 0;
543 _sendBuffer.AvailableSpan[1] = 0;
544 _sendBuffer.Commit(2);
545 HttpMethod httpMethod = HttpMethod.Normalize(request.Method);
546 BufferBytes(httpMethod.Http3EncodedBytes);
548 if (request.HasHeaders && request.Headers.Host != null)
549 {
551 }
552 else
553 {
555 }
556 string pathAndQuery = request.RequestUri.PathAndQuery;
557 if (pathAndQuery == "/")
558 {
560 }
561 else
562 {
564 }
566 if (request.HasHeaders)
567 {
568 if (request.HasHeaders && request.Headers.TransferEncodingChunked == true)
569 {
570 request.Headers.TransferEncodingChunked = false;
571 }
573 }
575 {
577 if (cookieHeader != string.Empty)
578 {
581 }
582 }
583 if (request.Content == null)
584 {
585 if (httpMethod.MustHaveRequestBody)
586 {
588 }
589 }
590 else
591 {
592 BufferHeaderCollection(request.Content.Headers);
593 }
594 int num = _sendBuffer.ActiveLength - 9;
595 int byteCount = VariableLengthIntegerHelper.GetByteCount(num);
596 _sendBuffer.Discard(9 - byteCount - 1);
597 _sendBuffer.ActiveSpan[0] = 1;
598 int num2 = VariableLengthIntegerHelper.WriteInteger(_sendBuffer.ActiveSpan.Slice(1, byteCount), num);
599 }
void BufferHeaderCollection(HttpHeaders headers)
void BufferBytes(ReadOnlySpan< byte > span)
void BufferLiteralHeaderWithStaticNameReference(int nameIndex, string value, Encoding valueEncoding=null)
HeaderEncodingSelector< HttpRequestMessage > _requestHeaderEncodingSelector

References System.Net.Http.Http3RequestStream._connection, System.Net.Http.HttpConnectionSettings._cookieContainer, System.Net.Http.HttpConnectionPool._http3EncodedAuthorityHostHeader, System.Net.Http.HttpConnectionSettings._requestHeaderEncodingSelector, System.Net.Http.Http3RequestStream._sendBuffer, System.Net.Http.HttpConnectionSettings._useCookies, System.Net.Http.Http3Connection.AltUsedEncodedHeaderBytes, System.Net.Http.Http3RequestStream.BufferBytes(), System.Net.Http.Http3RequestStream.BufferHeaderCollection(), System.Net.Http.Http3RequestStream.BufferIndexedHeader(), System.Net.Http.Http3RequestStream.BufferLiteralHeaderWithStaticNameReference(), System.byteCount, System.Net.Http.VariableLengthIntegerHelper.GetByteCount(), System.Net.CookieContainer.GetCookieHeader(), System.Net.Http.HttpMethod.Normalize(), System.Net.Http.Http3Connection.Pool, System.Net.Http.HttpConnectionPool.Settings, and System.Net.Http.VariableLengthIntegerHelper.WriteInteger().

Referenced by System.Net.Http.Http3RequestStream.SendAsync().