quart.wrappers.response 模块#

class quart.wrappers.response.DataBody(data: bytes)#

基类: ResponseBody

async make_conditional(begin: int, end: int | None) int#
class quart.wrappers.response.FileBody(file_path: str | PathLike, *, buffer_size: int | None = None)#

基类: ResponseBody

提供具有范围设置的异步文件访问器。

Response.response 属性必须是异步可迭代的,并生成字节,此包装器为文件执行此操作。此外,它允许在文件上设置范围,从而支持条件请求。

buffer_size#

每次迭代加载的大小(以字节为单位)。

buffer_size = 8192#
async make_conditional(begin: int, end: int | None) int#
class quart.wrappers.response.IOBody(io_stream: BytesIO, *, buffer_size: int | None = None)#

基类: ResponseBody

提供具有范围设置的异步文件访问器。

Response.response 属性必须是异步可迭代的,并生成字节,此包装器为文件执行此操作。此外,它允许在文件上设置范围,从而支持条件请求。

buffer_size#

每次迭代加载的大小(以字节为单位)。

buffer_size = 8192#
async make_conditional(begin: int, end: int | None) int#
class quart.wrappers.response.IterableBody(iterable: AsyncGenerator[bytes, None] | Iterable)#

基类: ResponseBody

class quart.wrappers.response.Response(response: ResponseBody | AnyStr | Iterable | None = None, status: int | None = None, headers: dict | Headers | None = None, mimetype: str | None = None, content_type: str | None = None)#

基类: Response

此类表示响应。

它可以被子类化,并且可以通过将 response_class 替换为您的子类来优先使用子类化。

automatically_set_content_length#

如果为 False,则必须提供内容长度标头。

default_status#

如果未提供,要使用的状态代码。

default_mimetype#

如果未提供,要使用的 MIME 类型。

类型:

str | None

implicit_sequence_conversion#

在 get_data 方法中将响应隐式转换为可迭代对象,以允许多次迭代。

async add_etag(overwrite: bool = False, weak: bool = False) None#
automatically_set_content_length = True#
property data: bytes#
data_body_class#

DataBody 的别名

default_mimetype: str | None = 'text/html'#

如果没有提供,则为默认的 MIME 类型。

file_body_class#

FileBody 的别名

async freeze() None#

冻结此对象,使其准备好进行序列化。

async get_data(as_text: Literal[True]) str#
async get_data(as_text: Literal[False]) bytes
async get_data(as_text: bool = True) AnyStr

返回主体数据。

async get_json(force: bool = False, silent: bool = False) Any#

将主体数据解析为 JSON 并返回。

参数::
  • force – 即使 MIME 类型不是 JSON,也要强制执行 JSON 解析。

  • silent – 如果解析失败,则不要触发错误处理,如果没有此选项,on_json_loading_failed() 将在错误时被调用。

headers: Headers#
implicit_sequence_conversion = True#
io_body_class#

IOBody 的别名

async iter_encode() AsyncGenerator[bytes, None]#
iterable_body_class#

IterableBody 的别名

property json: Any#
json_module = <module 'quart.json' from '/home/docs/checkouts/readthedocs.org/user_builds/quart/envs/latest/lib/python3.12/site-packages/quart/json/__init__.py'>#
async make_conditional(request: Request, accept_ranges: bool | str = False, complete_length: int | None = None) Response#
async make_sequence() None#

int([x]) -> integer int(x, base=10) -> integer

将数字或字符串转换为整数,如果没有给出参数则返回 0。如果 x 是一个数字,则返回 x.__int__()。对于浮点数,这将截断为零。

如果 x 不是数字,或者如果给出了 base,则 x 必须是一个字符串、字节或字节数组实例,表示以给定基数的整数字面量。字面量可以由 ‘+’ 或 ‘-’ 组成,并可以被空格包围。基数默认为 10。有效的基数是 0 和 2-36。基数 0 表示将基数从字符串解释为整数字面量。 >>> int(‘0b100’, base=0) 4

response: ResponseBody#
set_data(data: AnyStr) None#

设置响应数据。

这将使用 charset 进行编码。

timeout: Any#
class quart.wrappers.response.ResponseBody#

基类:ABC

响应主体数据的基类包装器。

这确保了以下内容是可能的(因为 Quart 在将主体返回给 ASGI 服务器时假设了这一点)

async with wrapper as response
async for data in response

send(data)