| File: CommonHeaders.cs | Web Access |
| Project: src\src\Libraries\Microsoft.AspNetCore.HeaderParsing\Microsoft.AspNetCore.HeaderParsing.csproj (Microsoft.AspNetCore.HeaderParsing) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using System.Collections.Generic; using System.Net; using Microsoft.AspNetCore.HeaderParsing.Parsers; using Microsoft.Net.Http.Headers; namespace Microsoft.AspNetCore.HeaderParsing; /// <summary> /// Common header setups. /// </summary> public static class CommonHeaders { /// <summary> /// Gets Host header setup. /// </summary> public static HeaderSetup<HostHeaderValue> Host => new(HeaderNames.Host, HostHeaderValueParser.Instance); /// <summary> /// Gets Accept header setup. /// </summary> public static HeaderSetup<IReadOnlyList<MediaTypeHeaderValue>> Accept => new(HeaderNames.Accept, MediaTypeHeaderValueListParser.Instance); /// <summary> /// Gets AcceptEncoding header setup. /// </summary> public static HeaderSetup<IReadOnlyList<StringWithQualityHeaderValue>> AcceptEncoding => new(HeaderNames.AcceptEncoding, StringWithQualityHeaderValueListParser.Instance, cacheable: true); /// <summary> /// Gets AcceptLanguage header setup. /// </summary> public static HeaderSetup<IReadOnlyList<StringWithQualityHeaderValue>> AcceptLanguage => new(HeaderNames.AcceptLanguage, StringWithQualityHeaderValueListParser.Instance, cacheable: true); /// <summary> /// Gets CacheControl header setup. /// </summary> public static HeaderSetup<CacheControlHeaderValue> CacheControl => new(HeaderNames.CacheControl, CacheControlHeaderValueParser.Instance, cacheable: true); /// <summary> /// Gets ContentDisposition header setup. /// </summary> public static HeaderSetup<ContentDispositionHeaderValue> ContentDisposition => new(HeaderNames.ContentDisposition, ContentDispositionHeaderValueParser.Instance, cacheable: true); /// <summary> /// Gets ContentType header setup. /// </summary> public static HeaderSetup<MediaTypeHeaderValue> ContentType => new(HeaderNames.ContentType, MediaTypeHeaderValueParser.Instance, cacheable: true); /// <summary> /// Gets Cookie header setup. /// </summary> public static HeaderSetup<IReadOnlyList<CookieHeaderValue>> Cookie => new(HeaderNames.Cookie, CookieHeaderValueListParser.Instance); /// <summary> /// Gets Date header setup. /// </summary> public static HeaderSetup<DateTimeOffset> Date => new(HeaderNames.Date, DateTimeOffsetParser.Instance); /// <summary> /// Gets IfMatch header setup. /// </summary> public static HeaderSetup<IReadOnlyList<EntityTagHeaderValue>> IfMatch => new(HeaderNames.IfMatch, EntityTagHeaderValueListParser.Instance); /// <summary> /// Gets IfModifiedSince header setup. /// </summary> public static HeaderSetup<IReadOnlyList<EntityTagHeaderValue>> IfModifiedSince => new(HeaderNames.IfModifiedSince, EntityTagHeaderValueListParser.Instance); /// <summary> /// Gets IfNoneMatch header setup. /// </summary> public static HeaderSetup<IReadOnlyList<EntityTagHeaderValue>> IfNoneMatch => new(HeaderNames.IfNoneMatch, EntityTagHeaderValueListParser.Instance); /// <summary> /// Gets IfRange header setup. /// </summary> public static HeaderSetup<RangeConditionHeaderValue> IfRange => new(HeaderNames.IfRange, RangeConditionHeaderValueParser.Instance); /// <summary> /// Gets IfUnmodifiedSince header setup. /// </summary> public static HeaderSetup<DateTimeOffset> IfUnmodifiedSince => new(HeaderNames.IfUnmodifiedSince, DateTimeOffsetParser.Instance); /// <summary> /// Gets Range header setup. /// </summary> public static HeaderSetup<RangeHeaderValue> Range => new(HeaderNames.Range, RangeHeaderValueParser.Instance); /// <summary> /// Gets Referrer header setup. /// </summary> public static HeaderSetup<Uri> Referer => new(HeaderNames.Referer, Parsers.UriParser.Instance, cacheable: true); /// <summary> /// Gets XForwardedFor header setup. /// </summary> public static HeaderSetup<IReadOnlyList<IPAddress>> XForwardedFor => new("X-Forwarded-For", IPAddressListParser.Instance); }