From: Ashwin Ramaswami Date: Fri, 18 Jan 2019 15:49:16 +0000 (-0800) Subject: bpo-21257: document http.client.parse_headers (GH-11443) X-Git-Tag: v3.8.0a1~73 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=478f8291327a3e3ab17b5857699565df43a9e952;p=thirdparty%2FPython%2Fcpython.git bpo-21257: document http.client.parse_headers (GH-11443) Document http.client.parse_headers --- diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst index 3408c103e2f3..beaa720d732b 100644 --- a/Doc/library/http.client.rst +++ b/Doc/library/http.client.rst @@ -115,6 +115,25 @@ The module provides the following classes: The *strict* parameter was removed. HTTP 0.9 style "Simple Responses" are no longer supported. +This module provides the following function: + +.. function:: parse_headers(fp) + + Parse the headers from a file pointer *fp* representing a HTTP + request/response. The file has to be a :class:`BufferedIOBase` reader + (i.e. not text) and must provide a valid :rfc:`2822` style header. + + This function returns an instance of :class:`http.client.HTTPMessage` + that holds the header fields, but no payload + (the same as :attr:`HTTPResponse.msg` + and :attr:`http.server.BaseHTTPRequestHandler.headers`). + After returning, the file pointer *fp* is ready to read the HTTP body. + + .. note:: + :meth:`parse_headers` does not parse the start-line of a HTTP message; + it only parses the ``Name: value`` lines. The file has to be ready to + read these field lines, so the first line should already be consumed + before calling the function. The following exceptions are raised as appropriate: diff --git a/Misc/NEWS.d/next/Documentation/2019-01-15-21-45-27.bpo-21257.U9LKkx.rst b/Misc/NEWS.d/next/Documentation/2019-01-15-21-45-27.bpo-21257.U9LKkx.rst new file mode 100644 index 000000000000..ad035e95b51c --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2019-01-15-21-45-27.bpo-21257.U9LKkx.rst @@ -0,0 +1 @@ +Document :func:`http.client.parse_headers`.