API reference

Generated from the source and docstrings of http_fields — every name in the package’s __all__, with its signature, fields, inheritance, and docstring. For a curated, spec-grouped overview see the header catalog.

Header classes. All classes intended for public use are imported here.

class http_fields.Accept(*accept_types)

Bases: Header

Accept header, as defined by RFC 9110.

An Accept header may have an empty value (Accept:), which is treated as accepting any media type. RFC 9110 no longer includes ext-params (accept-ext) in the grammar.

Parameters:

accept_types (tuple[AcceptType, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AcceptCharset(*charsets)

Bases: Header

Accept-Charset header, as defined by RFC 9110.

Parameters:

charsets (tuple[tuple[Token, Weight | None], ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AcceptLanguage(*language_ranges)

Bases: Header

Accept-Language header, as defined by RFC 9110.

Parameters:

language_ranges (tuple[WeightedLanguageRange, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AcceptEncoding(*codings)

Bases: Header

Accept-Encoding header, as defined by RFC 9110.

Parameters:

codings (tuple[WeightedCoding, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AcceptRanges(*range_units)

Bases: Header

Accept-Ranges header, as defined by RFC 9110.

Parameters:

range_units (tuple[RangeUnit, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AccessControlAllowCredentials

Bases: Header

Access-Control-Allow-Credentials header (always the literal true).

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AccessControlAllowHeaders(*items)

Bases: _CorsList

Access-Control-Allow-Headers header.

Parameters:

items (tuple[CorsFieldName, ...])

item_type

alias of CorsFieldName

class http_fields.AccessControlAllowMethods(*items)

Bases: _CorsList

Access-Control-Allow-Methods header.

Parameters:

items (tuple[CorsMethod, ...])

item_type

alias of CorsMethod

class http_fields.AccessControlAllowOrigin(origin)

Bases: Header

Access-Control-Allow-Origin header (an origin, null, or *).

Parameters:

origin (AllowedOrigin)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AccessControlExposeHeaders(*items)

Bases: _CorsList

Access-Control-Expose-Headers header.

Parameters:

items (tuple[CorsFieldName, ...])

item_type

alias of CorsFieldName

class http_fields.AccessControlMaxAge(max_age)

Bases: Header

Access-Control-Max-Age header (delta-seconds).

Parameters:

max_age (NonNegativeInt)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AccessControlRequestHeaders(*items)

Bases: _CorsList

Access-Control-Request-Headers header.

Parameters:

items (tuple[CorsFieldName, ...])

item_type

alias of CorsFieldName

class http_fields.AccessControlRequestMethod(method)

Bases: Header

Access-Control-Request-Method header (a single method).

Parameters:

method (RequestedMethod)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Age(seconds)

Bases: Header

Age header, as defined by RFC 9111.

Parameters:

seconds (NonNegativeInt)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Allow(*methods)

Bases: Header

Allow header, as defined by RFC 9110.

Allow: GET, POST, OPTIONS

Parameters:

methods (tuple[Method, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AltSvc(*values, clear=False)

Bases: Header

Alt-Svc header, as defined by RFC 7838. The special value clear is represented by clear=True with no values.

Parameters:
classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AltUsed(authority)

Bases: Header

Alt-Used header, as defined by RFC 7838: the alternative authority actually used.

Parameters:

authority (AltUsedAuthority)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.AuthenticationInfo(*auth_params)

Bases: AuthParamsHeader

Authentication-Info header, as defined by RFC 9110.

Parameters:

auth_params (tuple[AuthParam, ...])

class http_fields.Authorization(credentials)

Bases: CredentialsHeader

Authorization header, as defined by RFC 9110.

Parameters:

credentials (TokenCredentials | AuthParamCredentials)

class http_fields.AuthParam(name: str, value: str)

Bases: object

Parameters:
class http_fields.CacheControl(*, immutable=False, public=False, private=False, no_cache=False, no_store=False, no_transform=False, must_revalidate=False, proxy_revalidate=False, max_age=None, max_stale=None, min_fresh=None, only_if_cached=False, s_maxage=None, cache_extension=())

Bases: Header

Cache-Control header, as defined by RFC 9111.

The no_cache and private directives may be True or a string of field names. Non-standard directives are carried in cache_extension.

Parameters:
classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.CacheDirective(name: str, value: Any = True)

Bases: object

Parameters:
class http_fields.CacheStatus(*members)

Bases: StructuredListHeader

Cache-Status header, as defined by RFC 9211. Each members item identifies a cache (its bare value) and carries parameters such as hit, fwd, ttl, and detail.

Parameters:

members (tuple[Item | InnerList, ...])

class http_fields.Connection(*directives)

Bases: Header

Connection header, as defined by RFC 9110.

Parameters:

directives (tuple[Token, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.ContentDigest(*digests)

Bases: DigestHeader

Content-Digest header, as defined by RFC 9530: a Dictionary of algorithm name to the byte-sequence digest of the message content.

Parameters:

digests (tuple[tuple[str, bytes], ...])

class http_fields.ContentDisposition(disposition_type, disposition_parms=())

Bases: Header

Content-Disposition header, as defined by RFC 6266.

Parameters:
  • disposition_type (DispositionType)

  • disposition_parms (tuple[FilenameParm | DispExtParm, ...])

classmethod build(disposition_type, disposition_parms=None)

Build a Content-Disposition from a disposition type and a parameter mapping.

A parameter named filename or filename* (case-insensitive) becomes a FilenameParm; anything else becomes a DispExtParm.

Parameters:
Return type:

Self

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.ContentEncoding(*codings)

Bases: Header

Content-Encoding header, as defined by RFC 9110.

Parameters:

codings (tuple[Token, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.ContentLanguage(*languages)

Bases: Header

Content-Language header, as defined by RFC 9110.

Parameters:

languages (tuple[LanguageTag, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.ContentLength(length)

Bases: Header

Content-Length header.

Parameters:

length (NonNegativeInt)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.ContentLocation(uri)

Bases: UriHeader

Content-Location header, as defined by RFC 9110.

Parameters:

uri (ContentLocationUri)

uri_type

alias of ContentLocationUri

class http_fields.ContentRange(range_unit, *, first_pos=None, last_pos=None, complete_length=None)

Bases: Header

Content-Range header, as defined by RFC 9110.

Parameters:
classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.ContentType(media_type)

Bases: Header

Content-Type header, as defined by RFC 9110.

Parameters:

media_type (MediaType)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

classmethod of(type, subtype, *, charset=None, boundary=None, params=None)

Build a Content-Type from its pieces. charset/boundary take precedence over any same-named entry in params.

Parameters:
Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Cookie(*pairs)

Bases: Header

Cookie header, as defined by RFC 6265.

Parameters:

pairs (tuple[CookiePair, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.CustomHeader(name, value)

Bases: Header

A header with an arbitrary field name, e.g. X-Request-Id.

Both name and value are validated against RFC 9110 (field-name / field-value).

Parameters:
property value: str

The serialized header field value (without the name).

class http_fields.Date(date)

Bases: DateHeader

Date header, as defined by RFC 9110.

Parameters:

date (datetime)

class http_fields.EntityTag(tag, weak=False)

Bases: object

An RFC 9110 entity-tag. __eq__/__hash__ are exact (weak flag + opaque tag); use compare() for the RFC’s weak/strong comparison semantics.

Parameters:
class http_fields.ETag(entity_tag)

Bases: Header

ETag header, as defined by RFC 9110.

Parameters:

entity_tag (EntityTag)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

classmethod from_tag(tag, weak=False)

Build an ETag from an opaque tag and optional weak flag.

Parameters:
Return type:

Self

property value: str

The serialized header field value (without the name).

matches(entity_tag, weak=False)

Return True if this ETag matches entity_tag per RFC 9110 comparison.

Comparison against None is supported and returns False.

Parameters:
Return type:

bool

class http_fields.Expect(*expectations)

Bases: Header

Expect header, as defined by RFC 9110 (in practice almost always 100-continue).

Parameters:

expectations (tuple[Expectation, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Expires(date)

Bases: DateHeader

Expires header, as defined by RFC 9111.

Parameters:

date (datetime)

class http_fields.Forwarded(*elements)

Bases: Header

Forwarded header, as defined by RFC 7239 (the standardized replacement for the de-facto X-Forwarded-* headers).

Parameters:

elements (tuple[ForwardedElement, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.From(mailbox)

Bases: Header

From header, as defined by RFC 9110: the mailbox of the user controlling the client.

The mailbox is validated against RFC 9110 (RFC 5322 addr-spec) on construction.

Parameters:

mailbox (Mailbox)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Header

Bases: ABC

Abstract base for HTTP headers.

Known headers are frozen dataclasses whose fields are the structured components of the header value. Each sets name (and usually rule/visitor) as a ClassVar, implements a parse(value) classmethod, and exposes a derived value property. Arbitrary headers (e.g. X-Request-Id) are represented by CustomHeader.

abstract property value: str

The serialized header field value (without the name).

property asgi_value: tuple[bytes, bytes]

Return a (name, value) pair of latin-1 bytes for an ASGI send dict.

ASGI encodes header values as ISO-8859-1 (latin-1); using the class encoding keeps this consistent with __bytes__ and accepts obs-text.

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Header

classmethod create(name, value)

Return a header for (name, value): a matching known subclass if one is registered for name, otherwise a CustomHeader.

Parameters:
Return type:

Header

classmethod subclass_tree()

Yield all Header subclasses, depth-first.

Return type:

Iterable[type[Header]]

class http_fields.Host(hostname, port=None)

Bases: Header

Host header, as defined by RFC 9110.

Host: www.example.com

Parameters:
classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.IfMatch(*entity_tags, wildcard=False)

Bases: EntityTagListHeader

If-Match header, as defined by RFC 9110. wildcard (*) matches any current representation.

Parameters:
matches(entity_tag)

Return True if entity_tag strongly matches, or this header is *.

Parameters:

entity_tag (EntityTag)

Return type:

bool

class http_fields.IfModifiedSince(date)

Bases: DateHeader

If-Modified-Since header, as defined by RFC 9110.

Parameters:

date (datetime)

class http_fields.IfNoneMatch(*entity_tags, wildcard=False)

Bases: EntityTagListHeader

If-None-Match header, as defined by RFC 9110. wildcard (*) matches if any current representation exists.

Parameters:
matches(entity_tag)

Return True if entity_tag weakly matches none of the tags; False if *.

Parameters:

entity_tag (EntityTag)

Return type:

bool

class http_fields.IfRange(condition)

Bases: Header

If-Range header, as defined by RFC 9110. The condition is an entity-tag or an HTTP-date.

Parameters:

condition (EntityTag | datetime)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.IfUnmodifiedSince(date)

Bases: DateHeader

If-Unmodified-Since header, as defined by RFC 9110.

Parameters:

date (datetime)

class http_fields.LanguageTag(s, parse=True)

Bases: CaselessMixin, ParsedStr

Represents an RFC 9110 language-tag (BCP 47), matched case-insensitively.

Parameters:
class http_fields.LastModified(date)

Bases: DateHeader

Last-Modified header, as defined by RFC 9110.

Parameters:

date (datetime)

Bases: Header

Link header, as defined by RFC 8288 (Web Linking).

Parameters:

links (tuple[LinkValue, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Location(uri)

Bases: UriHeader

Location header, as defined by RFC 9110.

Parameters:

uri (LocationUri)

uri_type

alias of LocationUri

class http_fields.MaxForwards(forwards)

Bases: Header

Max-Forwards header, as defined by RFC 9110.

Parameters:

forwards (NonNegativeInt)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.MediaType(type: str, subtype: str, params: 'list[parameters.Parameter] | tuple[parameters.Parameter, ...] | None' = None)

Bases: object

Parameters:
class http_fields.Origin(origin)

Bases: Header

Origin header, as defined by RFC 6454 / the Fetch standard.

The origin (scheme://host[:port] or null) is validated on construction.

Parameters:

origin (OriginValue)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Prefer(*preferences)

Bases: Header

Prefer header, as defined by RFC 7240.

Parameters:

preferences (tuple[Preference, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.PreferenceApplied(*preferences)

Bases: Header

Preference-Applied header, as defined by RFC 7240.

Parameters:

preferences (tuple[Preference, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Priority(urgency=3, incremental=False)

Bases: Header

Priority header, as defined by RFC 9218: a Structured Fields Dictionary with an urgency (0-7, default 3) and an incremental flag (default False). Default values are omitted from the serialized value.

Parameters:
classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.RangeUnit(s, parse=True)

Bases: CaselessMixin, ParsedStr

Parameters:
class http_fields.NonNegativeInt(value)

Bases: int

Non-negative int type.

Parameters:

value (Any)

class http_fields.Protocol(name, version=None)

Bases: object

An RFC 9110 protocol: a name with an optional version, e.g. HTTP/2.

Parameters:
  • name (ProtocolName)

  • version (ProtocolVersion | None)

class http_fields.ProxyAuthenticate(*challenges)

Bases: ChallengeListHeader

Proxy-Authenticate header, as defined by RFC 9110.

Parameters:

challenges (tuple[TokenChallenge | AuthParamChallenge, ...])

class http_fields.ProxyAuthenticationInfo(*auth_params)

Bases: AuthParamsHeader

Proxy-Authentication-Info header, as defined by RFC 9110.

Parameters:

auth_params (tuple[AuthParam, ...])

class http_fields.ProxyAuthorization(credentials)

Bases: CredentialsHeader

Proxy-Authorization header, as defined by RFC 9110.

Parameters:

credentials (TokenCredentials | AuthParamCredentials)

class http_fields.ProxyStatus(*members)

Bases: StructuredListHeader

Proxy-Status header, as defined by RFC 9209. Each members item identifies an intermediary (its bare value) and carries parameters such as error and next-hop.

Parameters:

members (tuple[Item | InnerList, ...])

class http_fields.Range(range_unit, *ranges)

Bases: Header

Range header, as defined by RFC 9110, e.g. bytes=0-499,-500.

Parameters:
classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Referer(uri)

Bases: UriHeader

Referer header, as defined by RFC 9110.

Parameters:

uri (RefererUri)

uri_type

alias of RefererUri

class http_fields.ReprDigest(*digests)

Bases: DigestHeader

Repr-Digest header, as defined by RFC 9530: like Content-Digest, but over the selected representation.

Parameters:

digests (tuple[tuple[str, bytes], ...])

class http_fields.RetryAfter(delay)

Bases: Header

Retry-After header, as defined by RFC 9110. The delay is either a number of seconds (a NonNegativeInt) or an HTTP-date.

Parameters:

delay (NonNegativeInt | datetime)

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Server(*items)

Bases: ProductListHeader

Server header, as defined by RFC 9110. items is a sequence of Product or Comment values.

Parameters:

items (tuple[Product | Comment, ...])

class http_fields.SetCookie(*, cookie_name, cookie_value, domain=None, path=None, expires=None, max_age=None, secure=False, http_only=False, samesite=None, extension=())

Bases: Header

Set-Cookie header, as defined by RFC 6265.

Use build() to construct (and validate) from pieces, or parse() to parse a raw header value with the lenient RFC 6265 section 5 algorithm.

Parameters:
classmethod build(cookie_name, cookie_value, *, domain=None, path=None, expires=None, max_age=None, secure=False, http_only=False, samesite=None, extension=None)

Build a validated Set-Cookie from its pieces.

Parameters:
  • cookie_name (str)

  • cookie_value (str)

  • domain (str | None)

  • path (str | None)

  • expires (datetime | None)

  • max_age (int | None)

  • secure (bool)

  • http_only (bool)

  • samesite (Literal['Strict', 'Lax', 'None'] | None)

  • extension (list[str] | None)

Return type:

Self

classmethod parse(value)

Parse a Set-Cookie value using the lenient RFC 6265 section 5 algorithm, which is more forgiving than the section 4 grammar for interoperability.

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

expiry_time(*, now=None)

expiry time is the datetime at which the cookie expires. It is computed as specified in RFC 6265.

Parameters:

now (datetime | None)

class http_fields.StrictTransportSecurity(max_age, include_subdomains=False, preload=False)

Bases: Header

Strict-Transport-Security (HSTS) header, as defined by RFC 6797.

Parameters:
classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.TCoding(coding, weight=None, parameters=())

Bases: object

A single TE t-coding: a transfer-coding (or “trailers”) with an optional weight and transfer-parameters.

Parameters:
  • coding (Token)

  • weight (Weight | None)

  • parameters (tuple[Parameter, ...])

class http_fields.TE(*codings)

Bases: Header

TE header, as defined by RFC 9110: the transfer-codings the client is willing to accept (plus the special trailers token), each with an optional weight.

Parameters:

codings (tuple[TCoding, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Trailer(*field_names)

Bases: Header

Trailer header, as defined by RFC 9110.

Parameters:

field_names (tuple[FieldName, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Upgrade(*protocols)

Bases: Header

Upgrade header, as defined by RFC 9110: a list of protocols, e.g. HTTP/2, WebSocket.

Parameters:

protocols (tuple[Protocol, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.UserAgent(*items)

Bases: ProductListHeader

User-Agent header, as defined by RFC 9110. items is a sequence of Product or Comment values.

Parameters:

items (tuple[Product | Comment, ...])

class http_fields.Vary(*field_names)

Bases: Header

Vary header, as defined by RFC 9110.

An empty field_names serializes as * (vary by anything).

Vary: accept-encoding, accept-language

Parameters:

field_names (tuple[FieldName, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.Via(*elements)

Bases: Header

Via header, as defined by RFC 9110: the intermediaries a message passed through.

Parameters:

elements (tuple[ViaElement, ...])

classmethod parse(value)

Parse a header value into an instance. Every concrete known header overrides this (CustomHeader carries an arbitrary name and is built via its constructor instead).

Parameters:

value (str)

Return type:

Self

property value: str

The serialized header field value (without the name).

class http_fields.WWWAuthenticate(*challenges)

Bases: ChallengeListHeader

WWW-Authenticate header, as defined by RFC 9110.

Parameters:

challenges (tuple[TokenChallenge | AuthParamChallenge, ...])

class http_fields.ExtValue(*, charset: str = 'utf-8', language: str = '', value: str)

Bases: object

Parameters:
class http_fields.CookiePair(name: str, value: str)

Bases: object

Parameters:
  • name (CookieName)

  • value (CookieValue)

class http_fields.AltValue(protocol_id, authority, params=())

Bases: object

One RFC 7838 alt-value: a protocol-id, an alt-authority, and parameters.

Parameters:
  • protocol_id (ProtocolId)

  • authority (AltAuthority)

  • params (tuple[Param, ...])

class http_fields.ForwardedElement(pairs)

Bases: object

One Forwarded element (RFC 7239): an ordered sequence of name=value pairs, e.g. for=192.0.2.60;proto=http.

Parameters:

pairs (tuple[Param, ...])

class http_fields.IntRange(first_pos, last_pos=None)

Bases: object

An RFC 9110 int-range, e.g. 0-499 or 500- (open-ended).

Parameters:
class http_fields.LinkValue(target, params=())

Bases: object

One RFC 8288 link-value: a target URI reference plus link-params.

Parameters:
  • target (URIReference)

  • params (tuple[Param, ...])

class http_fields.Preference(name, value=None, parameters=())

Bases: object

One RFC 7240 preference: a token, an optional value, and optional parameters. Self-validating: an invalid name, value, or parameter cannot be built.

Parameters:
  • name (Token)

  • value (Token | QuotedString | None)

  • parameters (tuple[Param, ...])

class http_fields.SuffixRange(suffix_length)

Bases: object

An RFC 9110 suffix-range, e.g. -500 (the final N units).

Parameters:

suffix_length (NonNegativeInt)

class http_fields.ViaElement(received_protocol, received_by, comment=None)

Bases: object

One hop in a Via header: a received-protocol, a received-by, and an optional comment.

Parameters:
  • received_protocol (ReceivedProtocol)

  • received_by (ReceivedBy)

  • comment (Comment | None)

class http_fields.WeightedCoding(coding: str, weight: float | http_fields.visitors.rfc9110.weight.Weight | None = None)

Bases: object

Parameters:
  • coding (Coding)

  • weight (Weight | None)

class http_fields.WeightedLanguageRange(language_range: str, weight: float | http_fields.visitors.rfc9110.weight.Weight | None = None)

Bases: object

Parameters:
  • language_range (LanguageRange)

  • weight (Weight | None)

class http_fields.CorsFieldName(s, parse=True)

Bases: ParsedStr

A CORS field-name. Self-validating.

Parameters:
class http_fields.CorsMethod(s, parse=True)

Bases: ParsedStr

A CORS method token. Self-validating.

Parameters:
class http_fields.Expectation(s, parse=True)

Bases: ParsedStr

An RFC 9110 expectation (e.g. 100-continue). Self-validating.

Parameters:
class http_fields.FieldName(s, parse=True)

Bases: CaselessMixin, ParsedStr

Represents an RFC 9110 field name.

Parameters:
class http_fields.Method(s, parse=True)

Bases: ParsedStr

An HTTP method (a token). Methods are case-sensitive (RFC 9110 section 9.1), unlike the caseless Token.

Parameters:
class http_fields.Token(s, parse=True)

Bases: CaselessMixin, ParsedStr

Represents an RFC 9110 token.

Parameters: