Skip to main content

Some convenience routines for working with HTTP 1.1 (RFC2616). See https://datatracker.ietf.org/doc/html/rfc2616

Project description

Some convenience routines for working with HTTP 1.1 (RFC2616). See https://datatracker.ietf.org/doc/html/rfc2616

Latest release 20260531:

  • header(): new default=None optional parameter.
  • content_length,content_type: plumb keyword arguments through to header().
  • New content_encodings(headers) returning a list of the content encodings from headers.

Short summary:

  • content_encodings: A list of the encodings named in the Content-Encoding header.
  • content_length: Return the value of the Content-Length header, or None.
  • content_type: Return the parsed value of the Content-Type header, or None.
  • datetime_from_asctime_date: Parse an asctime-date from a string, return a datetime object. See RFC2616 section 3.3.1. Format: wkday, mon d hh:mm:ss yyyy.
  • datetime_from_http_date: Parse an HTTP-date from a string, return a datetime object. See RFC2616 section 3.3.1.
  • datetime_from_rfc1123_date: Parse an rfc1123-date from a string, return a datetime object. See RFC2616 section 3.3.1. Format: wkday, dd mon yyyy hh:mm:ss GMT.
  • datetime_from_rfc850_date: Parse an rfc850-date from a string, return a datetime object. See RFC2616 section 3.3.1. Format: weekday, dd-mon-yy hh:mm:ss GMT.
  • default_headerregistry: Return the default email.headerregistry.HeaderRegistry instance. Note that this is shared and should probably not be modified.
  • get_lws: Gather up an LWS.
  • get_quoted_string: Match a quoted-string in s starting at offset.
  • get_space: Gather up a sequence of SP or HT, possibly empty.
  • get_text: Gather up a sequence of TEXT characters (possibly empty).
  • get_token: Get an RFC2616 token from the string s starting at offset. Return token, new_offset. See RFC2616 part 2.2.
  • header: Return a header parsed into an instance of email.headerregistry.BaseHeader or default if header_name is not present.
  • message_has_body: Does this message have a message body to forward? See RFC2616, part 4.3 and 4.4. Note that HTTP certain requests preempty this; for example HEAD never has a body. That aspect is not considered here.
  • parse_chunk_line1: Parse the opening line of a chunked-encoding chunk.
  • pass_chunked: Copy "chunked" data from fpin to fpout, and an optional trailer section (default False). See RFC2616, part 3.6.1.
  • pass_length: Copy a specific amount of data from fpin to fpout.
  • read_chunked: Generator that reads "chunked" data from fpin, and an optional trailer section (default False). See RFC2616, part 3.6.1.
  • read_headers: Read headers from a binary file such as an HTTP stream, return the raw binary data and the corresponding Message object.
  • read_http_request_line: Read HTTP Request-Line from the binary file fp, return method, uri, version. See RFC2616 section 5.1. If an empty request line is received return None, None, None.

Module contents:

  • content_encodings(headers: Mapping[str, str], **header_kw) -> List[str]: A list of the encodings named in the Content-Encoding header.

  • content_length(headers: Mapping[str, str], **header_kw) -> Optional[int]: Return the value of the Content-Length header, or None.

    Note that headers is expected to be a case insensitive mapping.

  • content_type(headers: Mapping[str, str], **header_kw) -> email.headerregistry.ContentTypeHeader: Return the parsed value of the Content-Type header, or None.

    Note that headers is expected to be a case insensitive mapping.

  • datetime_from_asctime_date(s): Parse an asctime-date from a string, return a datetime object. See RFC2616 section 3.3.1. Format: wkday, mon d hh:mm:ss yyyy

  • datetime_from_http_date(s): Parse an HTTP-date from a string, return a datetime object. See RFC2616 section 3.3.1.

  • datetime_from_rfc1123_date(s): Parse an rfc1123-date from a string, return a datetime object. See RFC2616 section 3.3.1. Format: wkday, dd mon yyyy hh:mm:ss GMT

  • datetime_from_rfc850_date(s): Parse an rfc850-date from a string, return a datetime object. See RFC2616 section 3.3.1. Format: weekday, dd-mon-yy hh:mm:ss GMT

  • enc8(s): encode and decode bytes<->str for HTTP stream: 8-bit 1-to-1

  • get_lws(s, offset=0): Gather up an LWS.

  • get_quoted_string(s, offset=0): Match a quoted-string in s starting at offset.

  • get_space(s, offset=0): Gather up a sequence of SP or HT, possibly empty.

  • get_text(s, offset=0): Gather up a sequence of TEXT characters (possibly empty).

  • get_token(s, offset=0): Get an RFC2616 token from the string s starting at offset. Return token, new_offset. See RFC2616 part 2.2.

  • header(headers: Mapping[str, str], header_name: str, registry: Optional[email.headerregistry.HeaderRegistry] = None, *, default=None) -> Optional[email.headerregistry.BaseHeader]: Return a header parsed into an instance of email.headerregistry.BaseHeader or default if header_name is not present.

  • message_has_body(headers): Does this message have a message body to forward? See RFC2616, part 4.3 and 4.4. Note that HTTP certain requests preempty this; for example HEAD never has a body. That aspect is not considered here.

  • parse_chunk_line1(bline): Parse the opening line of a chunked-encoding chunk.

  • pass_chunked(fpin, fpout, has_trailer): Copy "chunked" data from fpin to fpout, and an optional trailer section (default False). See RFC2616, part 3.6.1.

  • pass_length(fpin, fpout, length): Copy a specific amount of data from fpin to fpout.

  • read_chunked(fpin, has_trailer=False): Generator that reads "chunked" data from fpin, and an optional trailer section (default False). See RFC2616, part 3.6.1.

  • read_headers(fp): Read headers from a binary file such as an HTTP stream, return the raw binary data and the corresponding Message object.

  • read_http_request_line(fp): Read HTTP Request-Line from the binary file fp, return method, uri, version. See RFC2616 section 5.1. If an empty request line is received return None, None, None.

Release Log

Release 20260531:

  • header(): new default=None optional parameter.
  • content_length,content_type: plumb keyword arguments through to header().
  • New content_encodings(headers) returning a list of the content encodings from headers.

Release 20250306: New default_headerregistry(), header(headers,name), content_length(headers) and content_type(headers).

Release 20160828: Use "install_requires" instead of "requires" in DISTINFO.

Release 20160827: Initial PyPI release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cs_rfc2616-20260531.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cs_rfc2616-20260531-py2.py3-none-any.whl (6.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file cs_rfc2616-20260531.tar.gz.

File metadata

  • Download URL: cs_rfc2616-20260531.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for cs_rfc2616-20260531.tar.gz
Algorithm Hash digest
SHA256 5b10f8bf8953c363773c8a0a0ab8336d17f1081b8d9ba98441347e6e9fe4090d
MD5 eeb37f4eb4d0f3ed72b585d033484224
BLAKE2b-256 6da34839d575c45a87eee7c523bbeceb58937fb55affbb82227968ff8cae97a7

See more details on using hashes here.

File details

Details for the file cs_rfc2616-20260531-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for cs_rfc2616-20260531-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ee43ecfd782258cc5b34bf47681b348a48895f3b6c8c754419d4b7e4f087f208
MD5 02d3e8c26b7fb506812039d4dd888a53
BLAKE2b-256 2096a75dace733decbc092b5ccbe2147a8d5c85d66e50b42ebacda85207bcff0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page