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
.
- class tornado.http1connection.HTTP1Connection(stream: tornado.iostream.IOStream, is_client: bool, params: Optional[tornado.http1connection.HTTP1ConnectionParameters] = None, context: Optional[object] = None)[源代码]¶
实现HTTP/1.x协议。
这个类可以为客户端单独使用,也可以通过
HTTP1ServerConnection
对于服务器。- 参数
stream -- 一个
IOStream
is_client (bool) -- 客户端或服务器
params -- 一
HTTP1ConnectionParameters
实例或None
context -- 一个不透明的应用程序定义的对象,可以作为
connection.context
.
- read_response(delegate: tornado.httputil.HTTPMessageDelegate) Awaitable[bool] [源代码]¶
读取单个HTTP响应。
典型的客户机模式用法是使用
write_headers
,write
和finish
然后调用read_response
.- 参数
delegate -- 一
HTTPMessageDelegate
返回A
Future
在读取完整的响应之后解析为bool。如果流仍然打开,则结果为真。
- set_close_callback(callback: Optional[Callable[[], None]]) None [源代码]¶
设置将在连接关闭时运行的回调。
请注意,此回调与
HTTPMessageDelegate.on_connection_close
:HTTPMessageDelegate
方法在接收消息时关闭连接时调用。当没有活动委托时(例如,在服务器端,如果客户端在发送请求后但在接收所有响应之前关闭连接,则使用此回调。
- detach() tornado.iostream.IOStream [源代码]¶
控制底层流。
返回基础
IOStream
对象并停止所有进一步的HTTP处理。只能在HTTPMessageDelegate.headers_received
. 用于实现类似WebSockets的协议,通过HTTP握手进行隧道传输。
- set_body_timeout(timeout: float) None [源代码]¶
设置单个请求的正文超时。
覆盖的值来自
HTTP1ConnectionParameters
.
- set_max_body_size(max_body_size: int) None [源代码]¶
设置单个请求的正文大小限制。
覆盖的值来自
HTTP1ConnectionParameters
.
- write_headers(start_line: Union[tornado.httputil.RequestStartLine, tornado.httputil.ResponseStartLine], headers: tornado.httputil.HTTPHeaders, chunk: Optional[bytes] = None) Future[None] [源代码]¶
- write(chunk: bytes) Future[None] [源代码]¶
器具
HTTPConnection.write
.为了向后兼容,允许跳过,但不推荐跳过
write_headers
而是打电话write()
带有预先编码的头块。
- class tornado.http1connection.HTTP1ServerConnection(stream: tornado.iostream.IOStream, params: Optional[tornado.http1connection.HTTP1ConnectionParameters] = None, context: Optional[object] = None)[源代码]¶
一个HTTP/1.x服务器。
- 参数
stream -- 一个
IOStream
params -- 一
HTTP1ConnectionParameters
或无context -- 不透明的应用程序定义的对象,可作为
connection.context
- start_serving(delegate: tornado.httputil.HTTPServerConnectionDelegate) None [源代码]¶
开始在此连接上服务请求。
- 参数
delegate -- 一
HTTPServerConnectionDelegate