quart.wrappers パッケージ#

サブモジュール#

モジュールの内容#

class quart.wrappers.BaseRequestWebsocket(method: str, scheme: str, path: str, query_string: bytes, headers: Headers, root_path: str, http_version: str, scope: HTTPScope | WebsocketScope)#

基底クラス: Request

このクラスはリクエストと Websocket の基礎となるクラスです。

json_module#

カスタム JSON デコード/エンコードモジュール。 dump, dumps, load, および loads メソッドを持つ必要があります。

型:

json.provider.JSONProvider

routing_exception#

ルートのマッチング中に例外が発生した場合、ここに保存されます。

型:

Exception | None

url_rule#

このリクエストがマッチングしたルール。

型:

QuartRule | None

view_args#

ルートマッチングからのビューのキーワード引数。

型:

dict[str, Any] | None

property blueprint: str | None#

マッチしたエンドポイントが属するブループリントを返します。

リクエストがマッチングされていない場合や、エンドポイントがブループリントにない場合は None になります。

property blueprints: list[str]#

現在のブループリントの名前を返します。返されるリストは、現在のブループリントから親ブループリントに向かって順に並べられます。

property endpoint: str | None#

このリクエストにマッチした対応するエンドポイントを返します。

リクエストがルールとマッチングしていない場合は None になります。

json_module: json.provider.JSONProvider = <module 'quart.json' from '/home/docs/checkouts/readthedocs.org/user_builds/quart/envs/latest/lib/python3.12/site-packages/quart/json/__init__.py'>#
property max_content_length: int | None#

MAX_CONTENT_LENGTH 設定キーの読み取り専用ビュー。

routing_exception: Exception | None = None#
property script_root: str#
property url_root: str#
url_rule: QuartRule | None = None#
view_args: dict[str, Any] | None = None#
class quart.wrappers.Body(expected_content_length: int | None, max_content_length: int | None)#

ベースクラス: object

リクエストボディのコンテナ。

リクエストボディは、(メモリ使用量を増やすことなく)一部ずつ反復処理して消費するか、awaitすることができます。

async for data in body:
    ...
# or simply
complete = await body

注: データを反復処理してからawaitすることはできません。

append(data: bytes) None#
clear() None#
set_complete() None#
set_result(data: bytes) None#

主にテスト用の便利なメソッド。

class quart.wrappers.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#

別のフォームデータ解析を実装するためにオーバーライドできます。

body_class#

Body のエイリアス

async close() None#
property data: bytes#
property files: MultiDict#

解析されたファイル。

リクエストのMIMEタイプが enctype="multipart/form-data" であり、メソッドが POST、PUT、または PATCH でない限り、空の MultiDict を返します。

property form: MultiDict#

解析されたフォームエンコードされたデータ。

ファイルデータは files に存在することに注意してください。

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#
class quart.wrappers.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#

提供されない場合に使用するmimetype。

型:

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'#

提供されない場合のデフォルトのmimetype。

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 – mimetypeがJSONでない場合でもJSON解析を強制します。

  • silent – パースに失敗した場合、エラー処理をトリガーしません。これがないと、エラー時にon_json_loading_failed()が呼び出されます。

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 は指定された base の整数リテラルを表す文字列、バイト、またはバイト配列インスタンスでなければなりません。リテラルの前には '+' または '-' を付けることができ、空白で囲むことができます。base のデフォルトは 10 です。有効な base は 0 および 2 ~ 36 です。Base 0 は、文字列から base を整数リテラルとして解釈することを意味します。>>> int('0b100', base=0) 4

set_data(data: AnyStr) None#

レスポンスデータを設定します。

これは charset を使用してエンコードされます。

class quart.wrappers.Websocket(path: str, query_string: bytes, scheme: str, headers: Headers, root_path: str, http_version: str, subprotocols: list[str], receive: Callable, send: Callable, accept: Callable, close: Callable, scope: WebsocketScope)#

ベースクラス: BaseRequestWebsocket

async accept(headers: dict | Headers | None = None, subprotocol: str | None = None) None#

手動で websocket 接続を受け入れることを選択します。

パラメータ:
  • headers – 受け入れ応答と共に送信する追加ヘッダー。

  • subprotocol – 選択されたサブプロトコル(オプション)。

async close(code: int, reason: str = '') None#
async receive() AnyStr#
async receive_json() Any#
property requested_subprotocols: list[str]#
async send(data: AnyStr) None#
async send_json(*args: Any, **kwargs: Any) None#