quart.wrappers.request 模块#
- class quart.wrappers.request.Body(expected_content_length: int | None, max_content_length: int | None)#
基础类:
object
请求体容器。
请求体可以被迭代并逐部分使用(不会导致内存使用量增加),也可以被等待。
async for data in body: ... # or simply complete = await body
注意:无法迭代数据并随后等待它。
- append(data: bytes) None #
- clear() None #
- set_complete() None #
- set_result(data: bytes) None #
便捷方法,主要用于测试。
- class quart.wrappers.request.Request(method: str, scheme: str, path: str, query_string: bytes, headers: Headers, root_path: str, http_version: str, scope: HTTPScope, *, max_content_length: int | None = None, body_timeout: int | None = None, send_push_promise: Callable[[str, Headers], Awaitable[None]])#
基础类:
BaseRequestWebsocket
此类表示一个请求。
它可以被子类化,并且子类可以通过用你的子类替换
request_class
来优先使用。- body_class#
用于在其中存储主体数据的类。
- form_data_parser_class#
可以被覆盖以实现不同的表单数据解析。
- async close() None #
- property data: bytes#
- property files: MultiDict#
解析后的文件。
除非请求的 MIME 类型为
enctype="multipart/form-data"
并且方法为 POST、PUT 或 PATCH,否则它将返回一个空的 MultiDict。
- form_data_parser_class#
别名:
FormDataParser
- async get_data(cache: bool, as_text: Literal[False], parse_form_data: bool) bytes #
- async get_data(cache: bool, as_text: Literal[True], parse_form_data: bool) str
- async get_data(cache: bool = True, as_text: bool = False, parse_form_data: bool = False) AnyStr
获取请求体数据。
- 参数:
cache – 如果为 False,则会清除主体数据,导致任何后续调用返回一个空的 AnyStr 并减少内存使用量。
as_text – 如果为 True,则数据将作为解码后的字符串返回,否则将返回原始字节。
parse_form_data – 首先将数据解析为表单数据,返回任何剩余数据。
- async get_json(force: bool = False, silent: bool = False, cache: bool = True) Any #
将正文数据解析为 JSON 并返回。
- 参数:
force – 即使 mimetype 不是 JSON,也强制进行 JSON 解析。
silent – 如果解析失败,则不触发错误处理,否则将调用
on_json_loading_failed()
处理错误。cache – 在此请求对象上缓存解析后的 JSON。
- property json: Any#
- lock_class#
Lock
的别名
- make_form_data_parser() FormDataParser #
- on_json_loading_failed(error: Exception) Any #
处理 JSON 解析错误。
- 参数:
error – 解析过程中引发的异常。
- 返回值:
任何返回的值(如果被覆盖)将被用作所有 get_json 调用的默认值。
- async send_push_promise(path: str) None #
- property stream: NoReturn#
- property values: CombinedMultiDict#