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

◆ WriteHeaders()

void System.Net.Http.Http2Connection.WriteHeaders ( HttpRequestMessage request,
ref System::Net::ArrayBuffer headerBuffer )
inlineprivate

Definition at line 2782 of file Http2Connection.cs.

2783 {
2784 if (System.Net.NetEventSource.Log.IsEnabled())
2785 {
2786 Trace("", "WriteHeaders");
2787 }
2788 if (request.HasHeaders && request.Headers.TransferEncodingChunked == true)
2789 {
2790 request.Headers.TransferEncodingChunked = false;
2791 }
2792 HttpMethod httpMethod = HttpMethod.Normalize(request.Method);
2793 if ((object)httpMethod == HttpMethod.Get)
2794 {
2796 }
2797 else if ((object)httpMethod == HttpMethod.Post)
2798 {
2800 }
2801 else
2802 {
2804 }
2806 if (request.HasHeaders && request.Headers.Host != null)
2807 {
2808 WriteIndexedHeader(1, request.Headers.Host, ref headerBuffer);
2809 }
2810 else
2811 {
2813 }
2814 string pathAndQuery = request.RequestUri.PathAndQuery;
2815 if (pathAndQuery == "/")
2816 {
2818 }
2819 else
2820 {
2822 }
2823 if (request.HasHeaders)
2824 {
2826 }
2828 {
2830 if (cookieHeader != string.Empty)
2831 {
2832 WriteBytes(KnownHeaders.Cookie.Http2EncodedName, ref headerBuffer);
2835 }
2836 }
2837 if (request.Content == null)
2838 {
2839 if (httpMethod.MustHaveRequestBody)
2840 {
2843 }
2844 }
2845 else
2846 {
2848 }
2849 }
static readonly KnownHeader ContentLength
static readonly KnownHeader Cookie
void WriteIndexedHeader(int index, ref System.Net.ArrayBuffer headerBuffer)
void WriteHeaderCollection(HttpRequestMessage request, HttpHeaders headers, ref System.Net.ArrayBuffer headerBuffer)
void WriteLiteralHeaderValue(string value, Encoding valueEncoding, ref System.Net.ArrayBuffer headerBuffer)
readonly HttpConnectionPool _pool
override void Trace(string message, [CallerMemberName] string memberName=null)
void WriteBytes(ReadOnlySpan< byte > bytes, ref System.Net.ArrayBuffer headerBuffer)
HeaderEncodingSelector< HttpRequestMessage > _requestHeaderEncodingSelector
static readonly System.Net.NetEventSource Log

References System.Net.Http.HttpConnectionSettings._cookieContainer, System.Net.Http.HttpConnectionPool._http2EncodedAuthorityHostHeader, System.Net.Http.Http2Connection._pool, System.Net.Http.HttpConnectionSettings._requestHeaderEncodingSelector, System.Net.Http.Http2Connection._stream, System.Net.Http.HttpConnectionSettings._useCookies, System.Net.Http.Headers.KnownHeaders.ContentLength, System.Net.Http.Headers.KnownHeaders.Cookie, System.Net.Http.HttpMethod.Get, System.Net.CookieContainer.GetCookieHeader(), System.Net.NetEventSource.Log, System.Net.Http.HttpMethod.Normalize(), System.Net.Http.HttpMethod.Post, System.Net.Http.HttpConnectionPool.Settings, System.Net.Http.Http2Connection.Trace(), System.Net.Http.Http2Connection.WriteBytes(), System.Net.Http.Http2Connection.WriteHeaderCollection(), System.Net.Http.Http2Connection.WriteIndexedHeader(), and System.Net.Http.Http2Connection.WriteLiteralHeaderValue().

Referenced by System.Net.Http.Http2Connection.SendHeadersAsync().