tornado.http1connection – HTTP/1.x クライアント/サーバー実装¶
HTTP/1.x のクライアントとサーバーの実装。
バージョン 4.0 で新規追加。
- class tornado.http1connection.HTTP1ConnectionParameters(no_keep_alive: bool = False, chunk_size: Optional[int] = None, max_header_size: Optional[int] = None, header_timeout: Optional[float] = None, max_body_size: Optional[int] = None, body_timeout: Optional[float] = None, decompress: bool = False)[ソース]¶
HTTP1ConnectionとHTTP1ServerConnectionのためのパラメータ。- パラメータ
no_keep_alive (bool) – trueの場合、常にリクエスト1回ごとに接続を閉じます。
chunk_size (int) – 一度にメモリに読み込むデータ量
max_header_size (int) – HTTPヘッダーの最大データ量
header_timeout (float) – すべてのヘッダーを待つ時間 (秒)
max_body_size (int) – 本文の最大データ量
body_timeout (float) – 本文の読み込み中の待機時間 (秒)
decompress (bool) – trueの場合、受信した
Content-Encoding: gzipをデコードします
- class tornado.http1connection.HTTP1Connection(stream: IOStream, is_client: bool, params: Optional[HTTP1ConnectionParameters] = None, context: Optional[object] = None)[ソース]¶
HTTP/1.x プロトコルを実装します。
このクラスはクライアント用として単独で使用するか、サーバー用としては
HTTP1ServerConnection経由で使用できます。- パラメータ
stream –
IOStreamis_client (bool) – クライアントかサーバーか
params –
HTTP1ConnectionParametersインスタンスまたはNonecontext –
connection.contextとしてアクセスできる、アプリケーション定義の不透明なオブジェクト。
- read_response(delegate: HTTPMessageDelegate) Awaitable[bool][ソース]¶
単一の HTTP レスポンスを読み取ります。
一般的なクライアントモードでの使用法は、
write_headers、write、およびfinishを使用してリクエストを書き込み、その後read_responseを呼び出すことです。- パラメータ
delegate –
HTTPMessageDelegate
フルレスポンスが読み込まれた後に bool に解決される
Futureを返します。ストリームがまだ開いている場合、結果は true です。
- set_close_callback(callback: Optional[Callable[[], None]]) None[ソース]¶
接続が閉じられたときに実行されるコールバックを設定します。
このコールバックは、
HTTPMessageDelegate.on_connection_closeとはわずかに異なることに注意してください。HTTPMessageDelegateメソッドは、メッセージを受信中に接続が閉じられたときに呼び出されます。このコールバックは、アクティブなデリゲートがない場合に使用されます(たとえば、サーバー側では、クライアントがリクエストを送信した後、すべてのレスポンスを受信する前に接続を閉じた場合に、このコールバックが使用されます)。
- detach() IOStream[ソース]¶
基になるストリームの制御を取得します。
基になる
IOStreamオブジェクトを返し、それ以降のすべてのHTTP処理を停止します。HTTPMessageDelegate.headers_received中にのみ呼び出すことができます。HTTPハンドシェイクを介してトンネリングするwebsocketのようなプロトコルを実装することを目的としています。
- set_body_timeout(timeout: float) None[ソース]¶
単一のリクエストに対してボディタイムアウトを設定します。
HTTP1ConnectionParametersの値をオーバーライドします。
- set_max_body_size(max_body_size: int) None[ソース]¶
単一のリクエストに対するボディサイズの制限を設定します。
HTTP1ConnectionParametersの値をオーバーライドします。
- write_headers(start_line: Union[RequestStartLine, ResponseStartLine], headers: HTTPHeaders, chunk: Optional[bytes] = None) Future[None][ソース]¶
HTTPConnection.write_headersを実装します。
- write(chunk: bytes) Future[None][ソース]¶
HTTPConnection.writeを実装します。後方互換性のため、
write_headersをスキップして、代わりに事前にエンコードされたヘッダーブロックを使用してwrite()を呼び出すことは許可されていますが、非推奨です。
- finish() None[ソース]¶
HTTPConnection.finishを実装します。
- class tornado.http1connection.HTTP1ServerConnection(stream: IOStream, params: Optional[HTTP1ConnectionParameters] = None, context: Optional[object] = None)[ソース]¶
HTTP/1.xサーバー。
- パラメータ
stream –
IOStreamparams –
HTTP1ConnectionParametersまたはNonecontext –
connection.contextとしてアクセス可能な、アプリケーション定義の不透明なオブジェクト
- start_serving(delegate: HTTPServerConnectionDelegate) None[ソース]¶
この接続でのリクエストの処理を開始します。
- パラメータ
delegate –
HTTPServerConnectionDelegate
- tornado.http1connection.is_transfer_encoding_chunked(headers: HTTPHeaders) bool[ソース]¶
ヘッダーが Transfer-Encoding: chunked を指定している場合に true を返します。
他の転送エンコーディングが使用されている場合は、httputil.HTTPInputError を発生させます。