2563 lines
80 KiB
C#
2563 lines
80 KiB
C#
// 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>
|
|
// Copyright (c) Katana Contributors. All rights reserved.
|
|
// </copyright>
|
|
//-----------------------------------------------------------------------
|
|
// <auto-generated />
|
|
|
|
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<string> 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<StringValues> 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<KeyValuePair<string, StringValues>> PropertiesEnumerable()
|
|
{
|
|
if (Accept != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Accept", Accept);
|
|
}
|
|
if (AcceptCharset != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Accept-Charset", AcceptCharset);
|
|
}
|
|
if (AcceptEncoding != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Accept-Encoding", AcceptEncoding);
|
|
}
|
|
if (AcceptLanguage != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Accept-Language", AcceptLanguage);
|
|
}
|
|
if (Allow != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Allow", Allow);
|
|
}
|
|
if (Authorization != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Authorization", Authorization);
|
|
}
|
|
if (CacheControl != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Cache-Control", CacheControl);
|
|
}
|
|
if (Connection != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Connection", Connection);
|
|
}
|
|
if (ContentEncoding != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Content-Encoding", ContentEncoding);
|
|
}
|
|
if (ContentLanguage != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Content-Language", ContentLanguage);
|
|
}
|
|
if (ContentLength != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Content-Length", ContentLength);
|
|
}
|
|
if (ContentLocation != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Content-Location", ContentLocation);
|
|
}
|
|
if (ContentMd5 != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Content-Md5", ContentMd5);
|
|
}
|
|
if (ContentRange != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Content-Range", ContentRange);
|
|
}
|
|
if (ContentType != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Content-Type", ContentType);
|
|
}
|
|
if (Cookie != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Cookie", Cookie);
|
|
}
|
|
if (Date != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Date", Date);
|
|
}
|
|
if (Expect != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Expect", Expect);
|
|
}
|
|
if (Expires != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Expires", Expires);
|
|
}
|
|
if (From != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("From", From);
|
|
}
|
|
if (Host != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Host", Host);
|
|
}
|
|
if (IfMatch != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("If-Match", IfMatch);
|
|
}
|
|
if (IfModifiedSince != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("If-Modified-Since", IfModifiedSince);
|
|
}
|
|
if (IfNoneMatch != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("If-None-Match", IfNoneMatch);
|
|
}
|
|
if (IfRange != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("If-Range", IfRange);
|
|
}
|
|
if (IfUnmodifiedSince != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("If-Unmodified-Since", IfUnmodifiedSince);
|
|
}
|
|
if (KeepAlive != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Keep-Alive", KeepAlive);
|
|
}
|
|
if (LastModified != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Last-Modified", LastModified);
|
|
}
|
|
if (MaxForwards != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Max-Forwards", MaxForwards);
|
|
}
|
|
if (Pragma != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Pragma", Pragma);
|
|
}
|
|
if (ProxyAuthorization != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Proxy-Authorization", ProxyAuthorization);
|
|
}
|
|
if (Range != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Range", Range);
|
|
}
|
|
if (Referer != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Referer", Referer);
|
|
}
|
|
if (Te != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Te", Te);
|
|
}
|
|
if (Trailer != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Trailer", Trailer);
|
|
}
|
|
if (TransferEncoding != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Transfer-Encoding", TransferEncoding);
|
|
}
|
|
if (Translate != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Translate", Translate);
|
|
}
|
|
if (Upgrade != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Upgrade", Upgrade);
|
|
}
|
|
if (UserAgent != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("User-Agent", UserAgent);
|
|
}
|
|
if (Via != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Via", Via);
|
|
}
|
|
if (Warning != null)
|
|
{
|
|
yield return new KeyValuePair<string, StringValues>("Warning", Warning);
|
|
}
|
|
}
|
|
}
|
|
}
|