// Copyright (c) Microsoft Open Technologies, Inc. // All Rights Reserved // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING // WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF // TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR // NON-INFRINGEMENT. // See the Apache 2 License for the specific language governing // permissions and limitations under the License. //----------------------------------------------------------------------- // // Copyright (c) Katana Contributors. All rights reserved. // //----------------------------------------------------------------------- // using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.IO; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Primitives; namespace Microsoft.Net.Http.Server { [GeneratedCode("TextTemplatingFileGenerator", "")] internal partial class RequestHeaders { // Tracks if individual fields have been read from native or set directly. // Once read or set, their presence in the collection is marked by if their StringValues is null or not. private UInt32 _flag0, _flag1; private StringValues _Accept; private StringValues _AcceptCharset; private StringValues _AcceptEncoding; private StringValues _AcceptLanguage; private StringValues _Allow; private StringValues _Authorization; private StringValues _CacheControl; private StringValues _Connection; private StringValues _ContentEncoding; private StringValues _ContentLanguage; private StringValues _ContentLength; private StringValues _ContentLocation; private StringValues _ContentMd5; private StringValues _ContentRange; private StringValues _ContentType; private StringValues _Cookie; private StringValues _Date; private StringValues _Expect; private StringValues _Expires; private StringValues _From; private StringValues _Host; private StringValues _IfMatch; private StringValues _IfModifiedSince; private StringValues _IfNoneMatch; private StringValues _IfRange; private StringValues _IfUnmodifiedSince; private StringValues _KeepAlive; private StringValues _LastModified; private StringValues _MaxForwards; private StringValues _Pragma; private StringValues _ProxyAuthorization; private StringValues _Range; private StringValues _Referer; private StringValues _Te; private StringValues _Trailer; private StringValues _TransferEncoding; private StringValues _Translate; private StringValues _Upgrade; private StringValues _UserAgent; private StringValues _Via; private StringValues _Warning; internal StringValues Accept { get { if (!((_flag0 & 0x1u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Accept); if (nativeValue != null) { _Accept = nativeValue; } _flag0 |= 0x1u; } return _Accept; } set { _flag0 |= 0x1u; _Accept = value; } } internal StringValues AcceptCharset { get { if (!((_flag0 & 0x2u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.AcceptCharset); if (nativeValue != null) { _AcceptCharset = nativeValue; } _flag0 |= 0x2u; } return _AcceptCharset; } set { _flag0 |= 0x2u; _AcceptCharset = value; } } internal StringValues AcceptEncoding { get { if (!((_flag0 & 0x4u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.AcceptEncoding); if (nativeValue != null) { _AcceptEncoding = nativeValue; } _flag0 |= 0x4u; } return _AcceptEncoding; } set { _flag0 |= 0x4u; _AcceptEncoding = value; } } internal StringValues AcceptLanguage { get { if (!((_flag0 & 0x8u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.AcceptLanguage); if (nativeValue != null) { _AcceptLanguage = nativeValue; } _flag0 |= 0x8u; } return _AcceptLanguage; } set { _flag0 |= 0x8u; _AcceptLanguage = value; } } internal StringValues Allow { get { if (!((_flag0 & 0x10u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Allow); if (nativeValue != null) { _Allow = nativeValue; } _flag0 |= 0x10u; } return _Allow; } set { _flag0 |= 0x10u; _Allow = value; } } internal StringValues Authorization { get { if (!((_flag0 & 0x20u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Authorization); if (nativeValue != null) { _Authorization = nativeValue; } _flag0 |= 0x20u; } return _Authorization; } set { _flag0 |= 0x20u; _Authorization = value; } } internal StringValues CacheControl { get { if (!((_flag0 & 0x40u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.CacheControl); if (nativeValue != null) { _CacheControl = nativeValue; } _flag0 |= 0x40u; } return _CacheControl; } set { _flag0 |= 0x40u; _CacheControl = value; } } internal StringValues Connection { get { if (!((_flag0 & 0x80u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Connection); if (nativeValue != null) { _Connection = nativeValue; } _flag0 |= 0x80u; } return _Connection; } set { _flag0 |= 0x80u; _Connection = value; } } internal StringValues ContentEncoding { get { if (!((_flag0 & 0x100u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.ContentEncoding); if (nativeValue != null) { _ContentEncoding = nativeValue; } _flag0 |= 0x100u; } return _ContentEncoding; } set { _flag0 |= 0x100u; _ContentEncoding = value; } } internal StringValues ContentLanguage { get { if (!((_flag0 & 0x200u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.ContentLanguage); if (nativeValue != null) { _ContentLanguage = nativeValue; } _flag0 |= 0x200u; } return _ContentLanguage; } set { _flag0 |= 0x200u; _ContentLanguage = value; } } internal StringValues ContentLength { get { if (!((_flag0 & 0x400u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.ContentLength); if (nativeValue != null) { _ContentLength = nativeValue; } _flag0 |= 0x400u; } return _ContentLength; } set { _flag0 |= 0x400u; _ContentLength = value; } } internal StringValues ContentLocation { get { if (!((_flag0 & 0x800u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.ContentLocation); if (nativeValue != null) { _ContentLocation = nativeValue; } _flag0 |= 0x800u; } return _ContentLocation; } set { _flag0 |= 0x800u; _ContentLocation = value; } } internal StringValues ContentMd5 { get { if (!((_flag0 & 0x1000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.ContentMd5); if (nativeValue != null) { _ContentMd5 = nativeValue; } _flag0 |= 0x1000u; } return _ContentMd5; } set { _flag0 |= 0x1000u; _ContentMd5 = value; } } internal StringValues ContentRange { get { if (!((_flag0 & 0x2000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.ContentRange); if (nativeValue != null) { _ContentRange = nativeValue; } _flag0 |= 0x2000u; } return _ContentRange; } set { _flag0 |= 0x2000u; _ContentRange = value; } } internal StringValues ContentType { get { if (!((_flag0 & 0x4000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.ContentType); if (nativeValue != null) { _ContentType = nativeValue; } _flag0 |= 0x4000u; } return _ContentType; } set { _flag0 |= 0x4000u; _ContentType = value; } } internal StringValues Cookie { get { if (!((_flag0 & 0x8000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Cookie); if (nativeValue != null) { _Cookie = nativeValue; } _flag0 |= 0x8000u; } return _Cookie; } set { _flag0 |= 0x8000u; _Cookie = value; } } internal StringValues Date { get { if (!((_flag0 & 0x10000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Date); if (nativeValue != null) { _Date = nativeValue; } _flag0 |= 0x10000u; } return _Date; } set { _flag0 |= 0x10000u; _Date = value; } } internal StringValues Expect { get { if (!((_flag0 & 0x20000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Expect); if (nativeValue != null) { _Expect = nativeValue; } _flag0 |= 0x20000u; } return _Expect; } set { _flag0 |= 0x20000u; _Expect = value; } } internal StringValues Expires { get { if (!((_flag0 & 0x40000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Expires); if (nativeValue != null) { _Expires = nativeValue; } _flag0 |= 0x40000u; } return _Expires; } set { _flag0 |= 0x40000u; _Expires = value; } } internal StringValues From { get { if (!((_flag0 & 0x80000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.From); if (nativeValue != null) { _From = nativeValue; } _flag0 |= 0x80000u; } return _From; } set { _flag0 |= 0x80000u; _From = value; } } internal StringValues Host { get { if (!((_flag0 & 0x100000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Host); if (nativeValue != null) { _Host = nativeValue; } _flag0 |= 0x100000u; } return _Host; } set { _flag0 |= 0x100000u; _Host = value; } } internal StringValues IfMatch { get { if (!((_flag0 & 0x200000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.IfMatch); if (nativeValue != null) { _IfMatch = nativeValue; } _flag0 |= 0x200000u; } return _IfMatch; } set { _flag0 |= 0x200000u; _IfMatch = value; } } internal StringValues IfModifiedSince { get { if (!((_flag0 & 0x400000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.IfModifiedSince); if (nativeValue != null) { _IfModifiedSince = nativeValue; } _flag0 |= 0x400000u; } return _IfModifiedSince; } set { _flag0 |= 0x400000u; _IfModifiedSince = value; } } internal StringValues IfNoneMatch { get { if (!((_flag0 & 0x800000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.IfNoneMatch); if (nativeValue != null) { _IfNoneMatch = nativeValue; } _flag0 |= 0x800000u; } return _IfNoneMatch; } set { _flag0 |= 0x800000u; _IfNoneMatch = value; } } internal StringValues IfRange { get { if (!((_flag0 & 0x1000000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.IfRange); if (nativeValue != null) { _IfRange = nativeValue; } _flag0 |= 0x1000000u; } return _IfRange; } set { _flag0 |= 0x1000000u; _IfRange = value; } } internal StringValues IfUnmodifiedSince { get { if (!((_flag0 & 0x2000000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.IfUnmodifiedSince); if (nativeValue != null) { _IfUnmodifiedSince = nativeValue; } _flag0 |= 0x2000000u; } return _IfUnmodifiedSince; } set { _flag0 |= 0x2000000u; _IfUnmodifiedSince = value; } } internal StringValues KeepAlive { get { if (!((_flag0 & 0x4000000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.KeepAlive); if (nativeValue != null) { _KeepAlive = nativeValue; } _flag0 |= 0x4000000u; } return _KeepAlive; } set { _flag0 |= 0x4000000u; _KeepAlive = value; } } internal StringValues LastModified { get { if (!((_flag0 & 0x8000000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.LastModified); if (nativeValue != null) { _LastModified = nativeValue; } _flag0 |= 0x8000000u; } return _LastModified; } set { _flag0 |= 0x8000000u; _LastModified = value; } } internal StringValues MaxForwards { get { if (!((_flag0 & 0x10000000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.MaxForwards); if (nativeValue != null) { _MaxForwards = nativeValue; } _flag0 |= 0x10000000u; } return _MaxForwards; } set { _flag0 |= 0x10000000u; _MaxForwards = value; } } internal StringValues Pragma { get { if (!((_flag0 & 0x20000000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Pragma); if (nativeValue != null) { _Pragma = nativeValue; } _flag0 |= 0x20000000u; } return _Pragma; } set { _flag0 |= 0x20000000u; _Pragma = value; } } internal StringValues ProxyAuthorization { get { if (!((_flag0 & 0x40000000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.ProxyAuthorization); if (nativeValue != null) { _ProxyAuthorization = nativeValue; } _flag0 |= 0x40000000u; } return _ProxyAuthorization; } set { _flag0 |= 0x40000000u; _ProxyAuthorization = value; } } internal StringValues Range { get { if (!((_flag0 & 0x80000000u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Range); if (nativeValue != null) { _Range = nativeValue; } _flag0 |= 0x80000000u; } return _Range; } set { _flag0 |= 0x80000000u; _Range = value; } } internal StringValues Referer { get { if (!((_flag1 & 0x1u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Referer); if (nativeValue != null) { _Referer = nativeValue; } _flag1 |= 0x1u; } return _Referer; } set { _flag1 |= 0x1u; _Referer = value; } } internal StringValues Te { get { if (!((_flag1 & 0x2u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Te); if (nativeValue != null) { _Te = nativeValue; } _flag1 |= 0x2u; } return _Te; } set { _flag1 |= 0x2u; _Te = value; } } internal StringValues Trailer { get { if (!((_flag1 & 0x4u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Trailer); if (nativeValue != null) { _Trailer = nativeValue; } _flag1 |= 0x4u; } return _Trailer; } set { _flag1 |= 0x4u; _Trailer = value; } } internal StringValues TransferEncoding { get { if (!((_flag1 & 0x8u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.TransferEncoding); if (nativeValue != null) { _TransferEncoding = nativeValue; } _flag1 |= 0x8u; } return _TransferEncoding; } set { _flag1 |= 0x8u; _TransferEncoding = value; } } internal StringValues Translate { get { if (!((_flag1 & 0x10u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Translate); if (nativeValue != null) { _Translate = nativeValue; } _flag1 |= 0x10u; } return _Translate; } set { _flag1 |= 0x10u; _Translate = value; } } internal StringValues Upgrade { get { if (!((_flag1 & 0x20u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Upgrade); if (nativeValue != null) { _Upgrade = nativeValue; } _flag1 |= 0x20u; } return _Upgrade; } set { _flag1 |= 0x20u; _Upgrade = value; } } internal StringValues UserAgent { get { if (!((_flag1 & 0x40u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.UserAgent); if (nativeValue != null) { _UserAgent = nativeValue; } _flag1 |= 0x40u; } return _UserAgent; } set { _flag1 |= 0x40u; _UserAgent = value; } } internal StringValues Via { get { if (!((_flag1 & 0x80u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Via); if (nativeValue != null) { _Via = nativeValue; } _flag1 |= 0x80u; } return _Via; } set { _flag1 |= 0x80u; _Via = value; } } internal StringValues Warning { get { if (!((_flag1 & 0x100u) != 0)) { string nativeValue = GetKnownHeader(HttpSysRequestHeader.Warning); if (nativeValue != null) { _Warning = nativeValue; } _flag1 |= 0x100u; } return _Warning; } set { _flag1 |= 0x100u; _Warning = value; } } private bool PropertiesContainsKey(string key) { switch (key.Length) { case 2: if (string.Equals(key, "Te", StringComparison.OrdinalIgnoreCase)) { return Te != null; } break; case 3: if (string.Equals(key, "Via", StringComparison.OrdinalIgnoreCase)) { return Via != null; } break; case 4: if (string.Equals(key, "Date", StringComparison.OrdinalIgnoreCase)) { return Date != null; } if (string.Equals(key, "From", StringComparison.OrdinalIgnoreCase)) { return From != null; } if (string.Equals(key, "Host", StringComparison.OrdinalIgnoreCase)) { return Host != null; } break; case 5: if (string.Equals(key, "Allow", StringComparison.OrdinalIgnoreCase)) { return Allow != null; } if (string.Equals(key, "Range", StringComparison.OrdinalIgnoreCase)) { return Range != null; } break; case 6: if (string.Equals(key, "Accept", StringComparison.OrdinalIgnoreCase)) { return Accept != null; } if (string.Equals(key, "Cookie", StringComparison.OrdinalIgnoreCase)) { return Cookie != null; } if (string.Equals(key, "Expect", StringComparison.OrdinalIgnoreCase)) { return Expect != null; } if (string.Equals(key, "Pragma", StringComparison.OrdinalIgnoreCase)) { return Pragma != null; } break; case 7: if (string.Equals(key, "Expires", StringComparison.OrdinalIgnoreCase)) { return Expires != null; } if (string.Equals(key, "Referer", StringComparison.OrdinalIgnoreCase)) { return Referer != null; } if (string.Equals(key, "Trailer", StringComparison.OrdinalIgnoreCase)) { return Trailer != null; } if (string.Equals(key, "Upgrade", StringComparison.OrdinalIgnoreCase)) { return Upgrade != null; } if (string.Equals(key, "Warning", StringComparison.OrdinalIgnoreCase)) { return Warning != null; } break; case 8: if (string.Equals(key, "If-Match", StringComparison.OrdinalIgnoreCase)) { return IfMatch != null; } if (string.Equals(key, "If-Range", StringComparison.OrdinalIgnoreCase)) { return IfRange != null; } break; case 9: if (string.Equals(key, "Translate", StringComparison.OrdinalIgnoreCase)) { return Translate != null; } break; case 10: if (string.Equals(key, "Connection", StringComparison.OrdinalIgnoreCase)) { return Connection != null; } if (string.Equals(key, "Keep-Alive", StringComparison.OrdinalIgnoreCase)) { return KeepAlive != null; } if (string.Equals(key, "User-Agent", StringComparison.OrdinalIgnoreCase)) { return UserAgent != null; } break; case 11: if (string.Equals(key, "Content-Md5", StringComparison.OrdinalIgnoreCase)) { return ContentMd5 != null; } break; case 12: if (string.Equals(key, "Content-Type", StringComparison.OrdinalIgnoreCase)) { return ContentType != null; } if (string.Equals(key, "Max-Forwards", StringComparison.OrdinalIgnoreCase)) { return MaxForwards != null; } break; case 13: if (string.Equals(key, "Authorization", StringComparison.OrdinalIgnoreCase)) { return Authorization != null; } if (string.Equals(key, "Cache-Control", StringComparison.OrdinalIgnoreCase)) { return CacheControl != null; } if (string.Equals(key, "Content-Range", StringComparison.OrdinalIgnoreCase)) { return ContentRange != null; } if (string.Equals(key, "If-None-Match", StringComparison.OrdinalIgnoreCase)) { return IfNoneMatch != null; } if (string.Equals(key, "Last-Modified", StringComparison.OrdinalIgnoreCase)) { return LastModified != null; } break; case 14: if (string.Equals(key, "Accept-Charset", StringComparison.OrdinalIgnoreCase)) { return AcceptCharset != null; } if (string.Equals(key, "Content-Length", StringComparison.OrdinalIgnoreCase)) { return ContentLength != null; } break; case 15: if (string.Equals(key, "Accept-Encoding", StringComparison.OrdinalIgnoreCase)) { return AcceptEncoding != null; } if (string.Equals(key, "Accept-Language", StringComparison.OrdinalIgnoreCase)) { return AcceptLanguage != null; } break; case 16: if (string.Equals(key, "Content-Encoding", StringComparison.OrdinalIgnoreCase)) { return ContentEncoding != null; } if (string.Equals(key, "Content-Language", StringComparison.OrdinalIgnoreCase)) { return ContentLanguage != null; } if (string.Equals(key, "Content-Location", StringComparison.OrdinalIgnoreCase)) { return ContentLocation != null; } break; case 17: if (string.Equals(key, "If-Modified-Since", StringComparison.OrdinalIgnoreCase)) { return IfModifiedSince != null; } if (string.Equals(key, "Transfer-Encoding", StringComparison.OrdinalIgnoreCase)) { return TransferEncoding != null; } break; case 19: if (string.Equals(key, "If-Unmodified-Since", StringComparison.OrdinalIgnoreCase)) { return IfUnmodifiedSince != null; } if (string.Equals(key, "Proxy-Authorization", StringComparison.OrdinalIgnoreCase)) { return ProxyAuthorization != null; } break; } return false; } private bool PropertiesTryGetValue(string key, out StringValues value) { switch (key.Length) { case 2: if (string.Equals(key, "Te", StringComparison.OrdinalIgnoreCase)) { value = Te; return value != null; } break; case 3: if (string.Equals(key, "Via", StringComparison.OrdinalIgnoreCase)) { value = Via; return value != null; } break; case 4: if (string.Equals(key, "Date", StringComparison.OrdinalIgnoreCase)) { value = Date; return value != null; } if (string.Equals(key, "From", StringComparison.OrdinalIgnoreCase)) { value = From; return value != null; } if (string.Equals(key, "Host", StringComparison.OrdinalIgnoreCase)) { value = Host; return value != null; } break; case 5: if (string.Equals(key, "Allow", StringComparison.OrdinalIgnoreCase)) { value = Allow; return value != null; } if (string.Equals(key, "Range", StringComparison.OrdinalIgnoreCase)) { value = Range; return value != null; } break; case 6: if (string.Equals(key, "Accept", StringComparison.OrdinalIgnoreCase)) { value = Accept; return value != null; } if (string.Equals(key, "Cookie", StringComparison.OrdinalIgnoreCase)) { value = Cookie; return value != null; } if (string.Equals(key, "Expect", StringComparison.OrdinalIgnoreCase)) { value = Expect; return value != null; } if (string.Equals(key, "Pragma", StringComparison.OrdinalIgnoreCase)) { value = Pragma; return value != null; } break; case 7: if (string.Equals(key, "Expires", StringComparison.OrdinalIgnoreCase)) { value = Expires; return value != null; } if (string.Equals(key, "Referer", StringComparison.OrdinalIgnoreCase)) { value = Referer; return value != null; } if (string.Equals(key, "Trailer", StringComparison.OrdinalIgnoreCase)) { value = Trailer; return value != null; } if (string.Equals(key, "Upgrade", StringComparison.OrdinalIgnoreCase)) { value = Upgrade; return value != null; } if (string.Equals(key, "Warning", StringComparison.OrdinalIgnoreCase)) { value = Warning; return value != null; } break; case 8: if (string.Equals(key, "If-Match", StringComparison.OrdinalIgnoreCase)) { value = IfMatch; return value != null; } if (string.Equals(key, "If-Range", StringComparison.OrdinalIgnoreCase)) { value = IfRange; return value != null; } break; case 9: if (string.Equals(key, "Translate", StringComparison.OrdinalIgnoreCase)) { value = Translate; return value != null; } break; case 10: if (string.Equals(key, "Connection", StringComparison.OrdinalIgnoreCase)) { value = Connection; return value != null; } if (string.Equals(key, "Keep-Alive", StringComparison.OrdinalIgnoreCase)) { value = KeepAlive; return value != null; } if (string.Equals(key, "User-Agent", StringComparison.OrdinalIgnoreCase)) { value = UserAgent; return value != null; } break; case 11: if (string.Equals(key, "Content-Md5", StringComparison.OrdinalIgnoreCase)) { value = ContentMd5; return value != null; } break; case 12: if (string.Equals(key, "Content-Type", StringComparison.OrdinalIgnoreCase)) { value = ContentType; return value != null; } if (string.Equals(key, "Max-Forwards", StringComparison.OrdinalIgnoreCase)) { value = MaxForwards; return value != null; } break; case 13: if (string.Equals(key, "Authorization", StringComparison.OrdinalIgnoreCase)) { value = Authorization; return value != null; } if (string.Equals(key, "Cache-Control", StringComparison.OrdinalIgnoreCase)) { value = CacheControl; return value != null; } if (string.Equals(key, "Content-Range", StringComparison.OrdinalIgnoreCase)) { value = ContentRange; return value != null; } if (string.Equals(key, "If-None-Match", StringComparison.OrdinalIgnoreCase)) { value = IfNoneMatch; return value != null; } if (string.Equals(key, "Last-Modified", StringComparison.OrdinalIgnoreCase)) { value = LastModified; return value != null; } break; case 14: if (string.Equals(key, "Accept-Charset", StringComparison.OrdinalIgnoreCase)) { value = AcceptCharset; return value != null; } if (string.Equals(key, "Content-Length", StringComparison.OrdinalIgnoreCase)) { value = ContentLength; return value != null; } break; case 15: if (string.Equals(key, "Accept-Encoding", StringComparison.OrdinalIgnoreCase)) { value = AcceptEncoding; return value != null; } if (string.Equals(key, "Accept-Language", StringComparison.OrdinalIgnoreCase)) { value = AcceptLanguage; return value != null; } break; case 16: if (string.Equals(key, "Content-Encoding", StringComparison.OrdinalIgnoreCase)) { value = ContentEncoding; return value != null; } if (string.Equals(key, "Content-Language", StringComparison.OrdinalIgnoreCase)) { value = ContentLanguage; return value != null; } if (string.Equals(key, "Content-Location", StringComparison.OrdinalIgnoreCase)) { value = ContentLocation; return value != null; } break; case 17: if (string.Equals(key, "If-Modified-Since", StringComparison.OrdinalIgnoreCase)) { value = IfModifiedSince; return value != null; } if (string.Equals(key, "Transfer-Encoding", StringComparison.OrdinalIgnoreCase)) { value = TransferEncoding; return value != null; } break; case 19: if (string.Equals(key, "If-Unmodified-Since", StringComparison.OrdinalIgnoreCase)) { value = IfUnmodifiedSince; return value != null; } if (string.Equals(key, "Proxy-Authorization", StringComparison.OrdinalIgnoreCase)) { value = ProxyAuthorization; return value != null; } break; } value = StringValues.Empty; return false; } private bool PropertiesTrySetValue(string key, StringValues value) { switch (key.Length) { case 2: if (string.Equals(key, "Te", StringComparison.OrdinalIgnoreCase)) { _flag1 |= 0x2u; Te = value; return true; } break; case 3: if (string.Equals(key, "Via", StringComparison.OrdinalIgnoreCase)) { _flag1 |= 0x80u; Via = value; return true; } break; case 4: if (string.Equals(key, "Date", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x10000u; Date = value; return true; } if (string.Equals(key, "From", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x80000u; From = value; return true; } if (string.Equals(key, "Host", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x100000u; Host = value; return true; } break; case 5: if (string.Equals(key, "Allow", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x10u; Allow = value; return true; } if (string.Equals(key, "Range", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x80000000u; Range = value; return true; } break; case 6: if (string.Equals(key, "Accept", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x1u; Accept = value; return true; } if (string.Equals(key, "Cookie", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x8000u; Cookie = value; return true; } if (string.Equals(key, "Expect", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x20000u; Expect = value; return true; } if (string.Equals(key, "Pragma", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x20000000u; Pragma = value; return true; } break; case 7: if (string.Equals(key, "Expires", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x40000u; Expires = value; return true; } if (string.Equals(key, "Referer", StringComparison.OrdinalIgnoreCase)) { _flag1 |= 0x1u; Referer = value; return true; } if (string.Equals(key, "Trailer", StringComparison.OrdinalIgnoreCase)) { _flag1 |= 0x4u; Trailer = value; return true; } if (string.Equals(key, "Upgrade", StringComparison.OrdinalIgnoreCase)) { _flag1 |= 0x20u; Upgrade = value; return true; } if (string.Equals(key, "Warning", StringComparison.OrdinalIgnoreCase)) { _flag1 |= 0x100u; Warning = value; return true; } break; case 8: if (string.Equals(key, "If-Match", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x200000u; IfMatch = value; return true; } if (string.Equals(key, "If-Range", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x1000000u; IfRange = value; return true; } break; case 9: if (string.Equals(key, "Translate", StringComparison.OrdinalIgnoreCase)) { _flag1 |= 0x10u; Translate = value; return true; } break; case 10: if (string.Equals(key, "Connection", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x80u; Connection = value; return true; } if (string.Equals(key, "Keep-Alive", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x4000000u; KeepAlive = value; return true; } if (string.Equals(key, "User-Agent", StringComparison.OrdinalIgnoreCase)) { _flag1 |= 0x40u; UserAgent = value; return true; } break; case 11: if (string.Equals(key, "Content-Md5", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x1000u; ContentMd5 = value; return true; } break; case 12: if (string.Equals(key, "Content-Type", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x4000u; ContentType = value; return true; } if (string.Equals(key, "Max-Forwards", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x10000000u; MaxForwards = value; return true; } break; case 13: if (string.Equals(key, "Authorization", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x20u; Authorization = value; return true; } if (string.Equals(key, "Cache-Control", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x40u; CacheControl = value; return true; } if (string.Equals(key, "Content-Range", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x2000u; ContentRange = value; return true; } if (string.Equals(key, "If-None-Match", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x800000u; IfNoneMatch = value; return true; } if (string.Equals(key, "Last-Modified", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x8000000u; LastModified = value; return true; } break; case 14: if (string.Equals(key, "Accept-Charset", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x2u; AcceptCharset = value; return true; } if (string.Equals(key, "Content-Length", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x400u; ContentLength = value; return true; } break; case 15: if (string.Equals(key, "Accept-Encoding", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x4u; AcceptEncoding = value; return true; } if (string.Equals(key, "Accept-Language", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x8u; AcceptLanguage = value; return true; } break; case 16: if (string.Equals(key, "Content-Encoding", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x100u; ContentEncoding = value; return true; } if (string.Equals(key, "Content-Language", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x200u; ContentLanguage = value; return true; } if (string.Equals(key, "Content-Location", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x800u; ContentLocation = value; return true; } break; case 17: if (string.Equals(key, "If-Modified-Since", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x400000u; IfModifiedSince = value; return true; } if (string.Equals(key, "Transfer-Encoding", StringComparison.OrdinalIgnoreCase)) { _flag1 |= 0x8u; TransferEncoding = value; return true; } break; case 19: if (string.Equals(key, "If-Unmodified-Since", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x2000000u; IfUnmodifiedSince = value; return true; } if (string.Equals(key, "Proxy-Authorization", StringComparison.OrdinalIgnoreCase)) { _flag0 |= 0x40000000u; ProxyAuthorization = value; return true; } break; } return false; } private bool PropertiesTryRemove(string key) { switch (key.Length) { case 2: if (_Te != null && string.Equals(key, "Te", StringComparison.Ordinal)) { bool wasSet = ((_flag1 & 0x2u) != 0); Te = StringValues.Empty; return wasSet; } break; case 3: if (_Via != null && string.Equals(key, "Via", StringComparison.Ordinal)) { bool wasSet = ((_flag1 & 0x80u) != 0); Via = StringValues.Empty; return wasSet; } break; case 4: if (_Date != null && string.Equals(key, "Date", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x10000u) != 0); Date = StringValues.Empty; return wasSet; } if (_From != null && string.Equals(key, "From", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x80000u) != 0); From = StringValues.Empty; return wasSet; } if (_Host != null && string.Equals(key, "Host", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x100000u) != 0); Host = StringValues.Empty; return wasSet; } break; case 5: if (_Allow != null && string.Equals(key, "Allow", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x10u) != 0); Allow = StringValues.Empty; return wasSet; } if (_Range != null && string.Equals(key, "Range", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x80000000u) != 0); Range = StringValues.Empty; return wasSet; } break; case 6: if (_Accept != null && string.Equals(key, "Accept", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x1u) != 0); Accept = StringValues.Empty; return wasSet; } if (_Cookie != null && string.Equals(key, "Cookie", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x8000u) != 0); Cookie = StringValues.Empty; return wasSet; } if (_Expect != null && string.Equals(key, "Expect", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x20000u) != 0); Expect = StringValues.Empty; return wasSet; } if (_Pragma != null && string.Equals(key, "Pragma", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x20000000u) != 0); Pragma = StringValues.Empty; return wasSet; } break; case 7: if (_Expires != null && string.Equals(key, "Expires", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x40000u) != 0); Expires = StringValues.Empty; return wasSet; } if (_Referer != null && string.Equals(key, "Referer", StringComparison.Ordinal)) { bool wasSet = ((_flag1 & 0x1u) != 0); Referer = StringValues.Empty; return wasSet; } if (_Trailer != null && string.Equals(key, "Trailer", StringComparison.Ordinal)) { bool wasSet = ((_flag1 & 0x4u) != 0); Trailer = StringValues.Empty; return wasSet; } if (_Upgrade != null && string.Equals(key, "Upgrade", StringComparison.Ordinal)) { bool wasSet = ((_flag1 & 0x20u) != 0); Upgrade = StringValues.Empty; return wasSet; } if (_Warning != null && string.Equals(key, "Warning", StringComparison.Ordinal)) { bool wasSet = ((_flag1 & 0x100u) != 0); Warning = StringValues.Empty; return wasSet; } break; case 8: if (_IfMatch != null && string.Equals(key, "If-Match", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x200000u) != 0); IfMatch = StringValues.Empty; return wasSet; } if (_IfRange != null && string.Equals(key, "If-Range", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x1000000u) != 0); IfRange = StringValues.Empty; return wasSet; } break; case 9: if (_Translate != null && string.Equals(key, "Translate", StringComparison.Ordinal)) { bool wasSet = ((_flag1 & 0x10u) != 0); Translate = StringValues.Empty; return wasSet; } break; case 10: if (_Connection != null && string.Equals(key, "Connection", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x80u) != 0); Connection = StringValues.Empty; return wasSet; } if (_KeepAlive != null && string.Equals(key, "Keep-Alive", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x4000000u) != 0); KeepAlive = StringValues.Empty; return wasSet; } if (_UserAgent != null && string.Equals(key, "User-Agent", StringComparison.Ordinal)) { bool wasSet = ((_flag1 & 0x40u) != 0); UserAgent = StringValues.Empty; return wasSet; } break; case 11: if (_ContentMd5 != null && string.Equals(key, "Content-Md5", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x1000u) != 0); ContentMd5 = StringValues.Empty; return wasSet; } break; case 12: if (_ContentType != null && string.Equals(key, "Content-Type", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x4000u) != 0); ContentType = StringValues.Empty; return wasSet; } if (_MaxForwards != null && string.Equals(key, "Max-Forwards", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x10000000u) != 0); MaxForwards = StringValues.Empty; return wasSet; } break; case 13: if (_Authorization != null && string.Equals(key, "Authorization", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x20u) != 0); Authorization = StringValues.Empty; return wasSet; } if (_CacheControl != null && string.Equals(key, "Cache-Control", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x40u) != 0); CacheControl = StringValues.Empty; return wasSet; } if (_ContentRange != null && string.Equals(key, "Content-Range", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x2000u) != 0); ContentRange = StringValues.Empty; return wasSet; } if (_IfNoneMatch != null && string.Equals(key, "If-None-Match", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x800000u) != 0); IfNoneMatch = StringValues.Empty; return wasSet; } if (_LastModified != null && string.Equals(key, "Last-Modified", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x8000000u) != 0); LastModified = StringValues.Empty; return wasSet; } break; case 14: if (_AcceptCharset != null && string.Equals(key, "Accept-Charset", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x2u) != 0); AcceptCharset = StringValues.Empty; return wasSet; } if (_ContentLength != null && string.Equals(key, "Content-Length", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x400u) != 0); ContentLength = StringValues.Empty; return wasSet; } break; case 15: if (_AcceptEncoding != null && string.Equals(key, "Accept-Encoding", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x4u) != 0); AcceptEncoding = StringValues.Empty; return wasSet; } if (_AcceptLanguage != null && string.Equals(key, "Accept-Language", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x8u) != 0); AcceptLanguage = StringValues.Empty; return wasSet; } break; case 16: if (_ContentEncoding != null && string.Equals(key, "Content-Encoding", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x100u) != 0); ContentEncoding = StringValues.Empty; return wasSet; } if (_ContentLanguage != null && string.Equals(key, "Content-Language", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x200u) != 0); ContentLanguage = StringValues.Empty; return wasSet; } if (_ContentLocation != null && string.Equals(key, "Content-Location", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x800u) != 0); ContentLocation = StringValues.Empty; return wasSet; } break; case 17: if (_IfModifiedSince != null && string.Equals(key, "If-Modified-Since", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x400000u) != 0); IfModifiedSince = StringValues.Empty; return wasSet; } if (_TransferEncoding != null && string.Equals(key, "Transfer-Encoding", StringComparison.Ordinal)) { bool wasSet = ((_flag1 & 0x8u) != 0); TransferEncoding = StringValues.Empty; return wasSet; } break; case 19: if (_IfUnmodifiedSince != null && string.Equals(key, "If-Unmodified-Since", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x2000000u) != 0); IfUnmodifiedSince = StringValues.Empty; return wasSet; } if (_ProxyAuthorization != null && string.Equals(key, "Proxy-Authorization", StringComparison.Ordinal)) { bool wasSet = ((_flag0 & 0x40000000u) != 0); ProxyAuthorization = StringValues.Empty; return wasSet; } break; } return false; } private IEnumerable PropertiesKeys() { if (Accept != null) { yield return "Accept"; } if (AcceptCharset != null) { yield return "Accept-Charset"; } if (AcceptEncoding != null) { yield return "Accept-Encoding"; } if (AcceptLanguage != null) { yield return "Accept-Language"; } if (Allow != null) { yield return "Allow"; } if (Authorization != null) { yield return "Authorization"; } if (CacheControl != null) { yield return "Cache-Control"; } if (Connection != null) { yield return "Connection"; } if (ContentEncoding != null) { yield return "Content-Encoding"; } if (ContentLanguage != null) { yield return "Content-Language"; } if (ContentLength != null) { yield return "Content-Length"; } if (ContentLocation != null) { yield return "Content-Location"; } if (ContentMd5 != null) { yield return "Content-Md5"; } if (ContentRange != null) { yield return "Content-Range"; } if (ContentType != null) { yield return "Content-Type"; } if (Cookie != null) { yield return "Cookie"; } if (Date != null) { yield return "Date"; } if (Expect != null) { yield return "Expect"; } if (Expires != null) { yield return "Expires"; } if (From != null) { yield return "From"; } if (Host != null) { yield return "Host"; } if (IfMatch != null) { yield return "If-Match"; } if (IfModifiedSince != null) { yield return "If-Modified-Since"; } if (IfNoneMatch != null) { yield return "If-None-Match"; } if (IfRange != null) { yield return "If-Range"; } if (IfUnmodifiedSince != null) { yield return "If-Unmodified-Since"; } if (KeepAlive != null) { yield return "Keep-Alive"; } if (LastModified != null) { yield return "Last-Modified"; } if (MaxForwards != null) { yield return "Max-Forwards"; } if (Pragma != null) { yield return "Pragma"; } if (ProxyAuthorization != null) { yield return "Proxy-Authorization"; } if (Range != null) { yield return "Range"; } if (Referer != null) { yield return "Referer"; } if (Te != null) { yield return "Te"; } if (Trailer != null) { yield return "Trailer"; } if (TransferEncoding != null) { yield return "Transfer-Encoding"; } if (Translate != null) { yield return "Translate"; } if (Upgrade != null) { yield return "Upgrade"; } if (UserAgent != null) { yield return "User-Agent"; } if (Via != null) { yield return "Via"; } if (Warning != null) { yield return "Warning"; } } private IEnumerable PropertiesValues() { if (Accept != null) { yield return Accept; } if (AcceptCharset != null) { yield return AcceptCharset; } if (AcceptEncoding != null) { yield return AcceptEncoding; } if (AcceptLanguage != null) { yield return AcceptLanguage; } if (Allow != null) { yield return Allow; } if (Authorization != null) { yield return Authorization; } if (CacheControl != null) { yield return CacheControl; } if (Connection != null) { yield return Connection; } if (ContentEncoding != null) { yield return ContentEncoding; } if (ContentLanguage != null) { yield return ContentLanguage; } if (ContentLength != null) { yield return ContentLength; } if (ContentLocation != null) { yield return ContentLocation; } if (ContentMd5 != null) { yield return ContentMd5; } if (ContentRange != null) { yield return ContentRange; } if (ContentType != null) { yield return ContentType; } if (Cookie != null) { yield return Cookie; } if (Date != null) { yield return Date; } if (Expect != null) { yield return Expect; } if (Expires != null) { yield return Expires; } if (From != null) { yield return From; } if (Host != null) { yield return Host; } if (IfMatch != null) { yield return IfMatch; } if (IfModifiedSince != null) { yield return IfModifiedSince; } if (IfNoneMatch != null) { yield return IfNoneMatch; } if (IfRange != null) { yield return IfRange; } if (IfUnmodifiedSince != null) { yield return IfUnmodifiedSince; } if (KeepAlive != null) { yield return KeepAlive; } if (LastModified != null) { yield return LastModified; } if (MaxForwards != null) { yield return MaxForwards; } if (Pragma != null) { yield return Pragma; } if (ProxyAuthorization != null) { yield return ProxyAuthorization; } if (Range != null) { yield return Range; } if (Referer != null) { yield return Referer; } if (Te != null) { yield return Te; } if (Trailer != null) { yield return Trailer; } if (TransferEncoding != null) { yield return TransferEncoding; } if (Translate != null) { yield return Translate; } if (Upgrade != null) { yield return Upgrade; } if (UserAgent != null) { yield return UserAgent; } if (Via != null) { yield return Via; } if (Warning != null) { yield return Warning; } } private IEnumerable> PropertiesEnumerable() { if (Accept != null) { yield return new KeyValuePair("Accept", Accept); } if (AcceptCharset != null) { yield return new KeyValuePair("Accept-Charset", AcceptCharset); } if (AcceptEncoding != null) { yield return new KeyValuePair("Accept-Encoding", AcceptEncoding); } if (AcceptLanguage != null) { yield return new KeyValuePair("Accept-Language", AcceptLanguage); } if (Allow != null) { yield return new KeyValuePair("Allow", Allow); } if (Authorization != null) { yield return new KeyValuePair("Authorization", Authorization); } if (CacheControl != null) { yield return new KeyValuePair("Cache-Control", CacheControl); } if (Connection != null) { yield return new KeyValuePair("Connection", Connection); } if (ContentEncoding != null) { yield return new KeyValuePair("Content-Encoding", ContentEncoding); } if (ContentLanguage != null) { yield return new KeyValuePair("Content-Language", ContentLanguage); } if (ContentLength != null) { yield return new KeyValuePair("Content-Length", ContentLength); } if (ContentLocation != null) { yield return new KeyValuePair("Content-Location", ContentLocation); } if (ContentMd5 != null) { yield return new KeyValuePair("Content-Md5", ContentMd5); } if (ContentRange != null) { yield return new KeyValuePair("Content-Range", ContentRange); } if (ContentType != null) { yield return new KeyValuePair("Content-Type", ContentType); } if (Cookie != null) { yield return new KeyValuePair("Cookie", Cookie); } if (Date != null) { yield return new KeyValuePair("Date", Date); } if (Expect != null) { yield return new KeyValuePair("Expect", Expect); } if (Expires != null) { yield return new KeyValuePair("Expires", Expires); } if (From != null) { yield return new KeyValuePair("From", From); } if (Host != null) { yield return new KeyValuePair("Host", Host); } if (IfMatch != null) { yield return new KeyValuePair("If-Match", IfMatch); } if (IfModifiedSince != null) { yield return new KeyValuePair("If-Modified-Since", IfModifiedSince); } if (IfNoneMatch != null) { yield return new KeyValuePair("If-None-Match", IfNoneMatch); } if (IfRange != null) { yield return new KeyValuePair("If-Range", IfRange); } if (IfUnmodifiedSince != null) { yield return new KeyValuePair("If-Unmodified-Since", IfUnmodifiedSince); } if (KeepAlive != null) { yield return new KeyValuePair("Keep-Alive", KeepAlive); } if (LastModified != null) { yield return new KeyValuePair("Last-Modified", LastModified); } if (MaxForwards != null) { yield return new KeyValuePair("Max-Forwards", MaxForwards); } if (Pragma != null) { yield return new KeyValuePair("Pragma", Pragma); } if (ProxyAuthorization != null) { yield return new KeyValuePair("Proxy-Authorization", ProxyAuthorization); } if (Range != null) { yield return new KeyValuePair("Range", Range); } if (Referer != null) { yield return new KeyValuePair("Referer", Referer); } if (Te != null) { yield return new KeyValuePair("Te", Te); } if (Trailer != null) { yield return new KeyValuePair("Trailer", Trailer); } if (TransferEncoding != null) { yield return new KeyValuePair("Transfer-Encoding", TransferEncoding); } if (Translate != null) { yield return new KeyValuePair("Translate", Translate); } if (Upgrade != null) { yield return new KeyValuePair("Upgrade", Upgrade); } if (UserAgent != null) { yield return new KeyValuePair("User-Agent", UserAgent); } if (Via != null) { yield return new KeyValuePair("Via", Via); } if (Warning != null) { yield return new KeyValuePair("Warning", Warning); } } } }