private static HashSet <string> CreateInvalidHeaders() { var invalidHeaders = new HashSet <string>(StringComparer.OrdinalIgnoreCase); HttpRequestHeaders.AddKnownHeaders(invalidHeaders); HttpResponseHeaders.AddKnownHeaders(invalidHeaders); HttpGeneralHeaders.AddKnownHeaders(invalidHeaders); return(invalidHeaders); }
static HttpContentHeaders() { parserStore = new Dictionary <string, HttpHeaderParser>(HeaderUtilities.CaseInsensitiveStringComparer); parserStore.Add(HttpKnownHeaderNames.Allow, GenericHeaderParser.TokenListParser); parserStore.Add(HttpKnownHeaderNames.ContentEncoding, GenericHeaderParser.TokenListParser); parserStore.Add(HttpKnownHeaderNames.ContentLanguage, GenericHeaderParser.TokenListParser); parserStore.Add(HttpKnownHeaderNames.ContentLength, Int64NumberHeaderParser.Parser); parserStore.Add(HttpKnownHeaderNames.ContentLocation, UriHeaderParser.RelativeOrAbsoluteUriParser); parserStore.Add(HttpKnownHeaderNames.ContentMD5, ByteArrayHeaderParser.Parser); parserStore.Add(HttpKnownHeaderNames.ContentRange, GenericHeaderParser.ContentRangeParser); parserStore.Add(HttpKnownHeaderNames.ContentType, MediaTypeHeaderParser.SingleValueParser); parserStore.Add(HttpKnownHeaderNames.Expires, DateHeaderParser.Parser); parserStore.Add(HttpKnownHeaderNames.LastModified, DateHeaderParser.Parser); invalidHeaders = new HashSet <string>(HeaderUtilities.CaseInsensitiveStringComparer); HttpRequestHeaders.AddKnownHeaders(invalidHeaders); HttpResponseHeaders.AddKnownHeaders(invalidHeaders); HttpGeneralHeaders.AddKnownHeaders(invalidHeaders); }
static HttpResponseHeaders() { parserStore = new Dictionary <string, HttpHeaderParser>(HeaderUtilities.CaseInsensitiveStringComparer); parserStore.Add(HttpKnownHeaderNames.AcceptRanges, GenericHeaderParser.TokenListParser); parserStore.Add(HttpKnownHeaderNames.Age, TimeSpanHeaderParser.Parser); parserStore.Add(HttpKnownHeaderNames.ETag, GenericHeaderParser.SingleValueEntityTagParser); // The RFC says that the Location header should be an absolute Uri, // but IIS and HttpListener do not enforce this. parserStore.Add(HttpKnownHeaderNames.Location, UriHeaderParser.RelativeOrAbsoluteUriParser); parserStore.Add(HttpKnownHeaderNames.ProxyAuthenticate, GenericHeaderParser.MultipleValueAuthenticationParser); parserStore.Add(HttpKnownHeaderNames.RetryAfter, GenericHeaderParser.RetryConditionParser); parserStore.Add(HttpKnownHeaderNames.Server, ProductInfoHeaderParser.Parser); parserStore.Add(HttpKnownHeaderNames.Vary, GenericHeaderParser.TokenListParser); parserStore.Add(HttpKnownHeaderNames.WWWAuthenticate, GenericHeaderParser.MultipleValueAuthenticationParser); HttpGeneralHeaders.AddParsers(parserStore); invalidHeaders = new HashSet <string>(HeaderUtilities.CaseInsensitiveStringComparer); HttpRequestHeaders.AddKnownHeaders(invalidHeaders); HttpContentHeaders.AddKnownHeaders(invalidHeaders); }