如何使用 httptools 从请求中获取 Body?

How to get the Body from a request, using httptools?

如何通过 content-type: Application/json 使用 python httptools 获取请求正文? 我将它与 uvloop 一起使用。

请求 class 如下所示:

class HttpRequest:
    __slots__ = ('_protocol', '_url', '_headers', '_version')

    def __init__(self, protocol, url, headers, version):
        self._protocol = protocol
        self._url = url
        self._headers = headers
        self._version = version

您可以添加一个名为 on_body 的方法,它将接收 HTTP 请求的正文作为其参数。

在使用 httptools 创建 HttpRequestParser 时,您提供的对象支持的回调函数是:

- on_message_begin()
- on_header(name: bytes, value: bytes)
- on_headers_complete()
- on_body(body: bytes)
- on_message_complete()
- on_chunk_header()
- on_chunk_complete()