private static Dictionary <string, HttpHeaderParser> CreateParserStore() { var parserStore = new Dictionary <string, HttpHeaderParser>(StringComparer.OrdinalIgnoreCase); parserStore.Add(HttpKnownHeaderNames.Accept, MediaTypeHeaderParser.MultipleValuesParser); parserStore.Add(HttpKnownHeaderNames.AcceptCharset, GenericHeaderParser.MultipleValueStringWithQualityParser); parserStore.Add(HttpKnownHeaderNames.AcceptEncoding, GenericHeaderParser.MultipleValueStringWithQualityParser); parserStore.Add(HttpKnownHeaderNames.AcceptLanguage, GenericHeaderParser.MultipleValueStringWithQualityParser); parserStore.Add(HttpKnownHeaderNames.Authorization, GenericHeaderParser.SingleValueAuthenticationParser); parserStore.Add(HttpKnownHeaderNames.Expect, GenericHeaderParser.MultipleValueNameValueWithParametersParser); parserStore.Add(HttpKnownHeaderNames.From, GenericHeaderParser.MailAddressParser); parserStore.Add(HttpKnownHeaderNames.Host, GenericHeaderParser.HostParser); parserStore.Add(HttpKnownHeaderNames.IfMatch, GenericHeaderParser.MultipleValueEntityTagParser); parserStore.Add(HttpKnownHeaderNames.IfModifiedSince, DateHeaderParser.Parser); parserStore.Add(HttpKnownHeaderNames.IfNoneMatch, GenericHeaderParser.MultipleValueEntityTagParser); parserStore.Add(HttpKnownHeaderNames.IfRange, GenericHeaderParser.RangeConditionParser); parserStore.Add(HttpKnownHeaderNames.IfUnmodifiedSince, DateHeaderParser.Parser); parserStore.Add(HttpKnownHeaderNames.MaxForwards, Int32NumberHeaderParser.Parser); parserStore.Add(HttpKnownHeaderNames.ProxyAuthorization, GenericHeaderParser.SingleValueAuthenticationParser); parserStore.Add(HttpKnownHeaderNames.Range, GenericHeaderParser.RangeParser); parserStore.Add(HttpKnownHeaderNames.Referer, UriHeaderParser.RelativeOrAbsoluteUriParser); parserStore.Add(HttpKnownHeaderNames.TE, TransferCodingHeaderParser.MultipleValueWithQualityParser); parserStore.Add(HttpKnownHeaderNames.UserAgent, ProductInfoHeaderParser.MultipleValueParser); HttpGeneralHeaders.AddParsers(parserStore); return(parserStore); }
private static HashSet <string> CreateInvalidHeaders() { var invalidHeaders = new HashSet <string>(StringComparer.OrdinalIgnoreCase); HttpRequestHeaders.AddKnownHeaders(invalidHeaders); HttpResponseHeaders.AddKnownHeaders(invalidHeaders); HttpGeneralHeaders.AddKnownHeaders(invalidHeaders); return(invalidHeaders); }
internal void AddSpecialsFrom(HttpGeneralHeaders sourceHeaders) { // Copy special values, but do not overwrite bool?chunked = TransferEncodingChunked; if (!chunked.HasValue) { TransferEncodingChunked = sourceHeaders.TransferEncodingChunked; } bool?close = ConnectionClose; if (!close.HasValue) { ConnectionClose = sourceHeaders.ConnectionClose; } }
private static Dictionary <string, HttpHeaderParser> CreateParserStore() { var parserStore = new Dictionary <string, HttpHeaderParser>(StringComparer.OrdinalIgnoreCase); parserStore.Add(HttpKnownHeaderNames.AcceptRanges, GenericHeaderParser.TokenListParser); parserStore.Add(HttpKnownHeaderNames.Age, TimeSpanHeaderParser.Parser); parserStore.Add(HttpKnownHeaderNames.ETag, GenericHeaderParser.SingleValueEntityTagParser); parserStore.Add(HttpKnownHeaderNames.Location, UriHeaderParser.RelativeOrAbsoluteUriParser); parserStore.Add(HttpKnownHeaderNames.ProxyAuthenticate, GenericHeaderParser.MultipleValueAuthenticationParser); parserStore.Add(HttpKnownHeaderNames.RetryAfter, GenericHeaderParser.RetryConditionParser); parserStore.Add(HttpKnownHeaderNames.Server, ProductInfoHeaderParser.MultipleValueParser); parserStore.Add(HttpKnownHeaderNames.Vary, GenericHeaderParser.TokenListParser); parserStore.Add(HttpKnownHeaderNames.WWWAuthenticate, GenericHeaderParser.MultipleValueAuthenticationParser); HttpGeneralHeaders.AddParsers(parserStore); return(parserStore); }
internal HttpResponseHeaders() { _generalHeaders = new HttpGeneralHeaders(this); base.SetConfiguration(s_parserStore, s_invalidHeaders); }