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

◆ WriteHeaderCollection()

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

Definition at line 2726 of file Http2Connection.cs.

2727 {
2728 if (System.Net.NetEventSource.Log.IsEnabled())
2729 {
2730 Trace("", "WriteHeaderCollection");
2731 }
2732 if (headers.HeaderStore == null)
2733 {
2734 return;
2735 }
2737 foreach (KeyValuePair<HeaderDescriptor, object> item in headers.HeaderStore)
2738 {
2742 KnownHeader knownHeader = item.Key.KnownHeader;
2743 if (knownHeader != null)
2744 {
2746 {
2747 continue;
2748 }
2749 if (item.Key.KnownHeader == KnownHeaders.TE)
2750 {
2752 for (int i = 0; i < readOnlySpan2.Length; i++)
2753 {
2754 string text = readOnlySpan2[i];
2755 if (string.Equals(text, "trailers", StringComparison.OrdinalIgnoreCase))
2756 {
2757 WriteBytes(knownHeader.Http2EncodedName, ref headerBuffer);
2759 break;
2760 }
2761 }
2762 }
2763 else
2764 {
2765 WriteBytes(knownHeader.Http2EncodedName, ref headerBuffer);
2766 string separator = null;
2767 if (readOnlySpan.Length > 1)
2768 {
2769 HttpHeaderParser parser = item.Key.Parser;
2770 separator = ((parser == null || !parser.SupportsMultipleValues) ? ", " : parser.Separator);
2771 }
2773 }
2774 }
2775 else
2776 {
2778 }
2779 }
2780 }
static int GetStoreValuesIntoStringArray(HeaderDescriptor descriptor, object sourceValues, [NotNull] ref string[] values)
static readonly KnownHeader Host
static readonly KnownHeader Connection
static readonly KnownHeader TE
static readonly KnownHeader ProxyConnection
static readonly KnownHeader Upgrade
void WriteLiteralHeaderValues(ReadOnlySpan< string > values, string separator, Encoding valueEncoding, ref System.Net.ArrayBuffer headerBuffer)
void WriteLiteralHeader(string name, ReadOnlySpan< string > values, Encoding valueEncoding, 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.Http2Connection._pool, System.Net.Http.HttpConnectionSettings._requestHeaderEncodingSelector, System.Net.Http.Headers.KnownHeaders.Connection, System.Net.Equals, System.Net.Http.Headers.HttpHeaders.GetStoreValuesIntoStringArray(), System.Net.Http.Headers.KnownHeaders.Host, System.item, System.Net.NetEventSource.Log, System.Net.Http.Headers.KnownHeaders.ProxyConnection, System.Net.Http.HttpConnectionPool.Settings, System.Net.Http.Http2Connection.t_headerValues, System.Net.Http.Headers.KnownHeaders.TE, System.text, System.Net.Http.Http2Connection.Trace(), System.Net.Http.Headers.KnownHeaders.Upgrade, System.Net.Http.Http2Connection.WriteBytes(), System.Net.Http.Http2Connection.WriteLiteralHeader(), System.Net.Http.Http2Connection.WriteLiteralHeaderValue(), and System.Net.Http.Http2Connection.WriteLiteralHeaderValues().

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