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 20250306: New default_headerregistry(), header(headers,name), content_length(headers) and content_type(headers).

content_length(headers: Mapping[str, str]) -> 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]) -> 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) -> Optional[email.headerregistry.BaseHeader]

Return a header parsed into an instance of email.headerregistry.BaseHeader or None 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 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-20250306.tar.gz (5.0 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-20250306-py2.py3-none-any.whl (6.0 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for cs_rfc2616-20250306.tar.gz
Algorithm Hash digest
SHA256 9e8d4466f50242fbb630e629120843dfdf4b20b9bb558a56d6b3ba14564df53b
MD5 cedc295d72179b531f4220d58c9a47d7
BLAKE2b-256 fad8debae76e1bff9c50101f88b9ae7754da98860b73c8ba36f0b27f8bfab337

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cs_rfc2616-20250306-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0c159758b2b22e33ee226cd54fcdc10a92adb66eee641943b5eccc84199c527b
MD5 e5fa3e943009cd5a308ddf6ef015f6fc
BLAKE2b-256 0e346794ac7316be9b2f3669bf2c8b9774314a4040dc8e57ac939e6783e137a7

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