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 –
IOStream
is_client (bool) – クライアントかサーバーか
params –
HTTP1ConnectionParameters
インスタンスまたはNone
context –
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 –
IOStream
params –
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 を発生させます。