tornado.http1connection
– HTTP/1.x client/server implementation¶
Client and server implementations of HTTP/1.x.
4.0 新版功能.
-
class
tornado.http1connection.
HTTP1ConnectionParameters
(no_keep_alive=False, chunk_size=None, max_header_size=None, header_timeout=None, max_body_size=None, body_timeout=None, decompress=False)[源代码]¶ Parameters for
HTTP1Connection
andHTTP1ServerConnection
.参数: - no_keep_alive (bool) – If true, always close the connection after one request.
- chunk_size (int) – how much data to read into memory at once
- max_header_size (int) – maximum amount of data for HTTP headers
- header_timeout (float) – how long to wait for all headers (seconds)
- max_body_size (int) – maximum amount of data for body
- body_timeout (float) – how long to wait while reading body (seconds)
- decompress (bool) – if true, decode incoming
Content-Encoding: gzip
-
class
tornado.http1connection.
HTTP1Connection
(stream, is_client, params=None, context=None)[源代码]¶ Implements the HTTP/1.x protocol.
This class can be on its own for clients, or via
HTTP1ServerConnection
for servers.参数: - stream – an
IOStream
- is_client (bool) – client or server
- params – a
HTTP1ConnectionParameters
instance orNone
- context – an opaque application-defined object that can be accessed
as
connection.context
.
-
read_response
(delegate)[源代码]¶ Read a single HTTP response.
Typical client-mode usage is to write a request using
write_headers
,write
, andfinish
, and then callread_response
.参数: delegate – a HTTPMessageDelegate
Returns a
Future
that resolves to None after the full response has been read.
-
set_close_callback
(callback)[源代码]¶ Sets a callback that will be run when the connection is closed.
Note that this callback is slightly different from
HTTPMessageDelegate.on_connection_close
: TheHTTPMessageDelegate
method is called when the connection is closed while recieving a message. This callback is used when there is not an active delegate (for example, on the server side this callback is used if the client closes the connection after sending its request but before receiving all the response.
-
detach
()[源代码]¶ Take control of the underlying stream.
Returns the underlying
IOStream
object and stops all further HTTP processing. May only be called duringHTTPMessageDelegate.headers_received
. Intended for implementing protocols like websockets that tunnel over an HTTP handshake.
-
set_body_timeout
(timeout)[源代码]¶ Sets the body timeout for a single request.
Overrides the value from
HTTP1ConnectionParameters
.
-
set_max_body_size
(max_body_size)[源代码]¶ Sets the body size limit for a single request.
Overrides the value from
HTTP1ConnectionParameters
.
-
write_headers
(start_line, headers, chunk=None, callback=None)[源代码]¶ Implements
HTTPConnection.write_headers
.
-
write
(chunk, callback=None)[源代码]¶ Implements
HTTPConnection.write
.For backwards compatibility it is allowed but deprecated to skip
write_headers
and instead callwrite()
with a pre-encoded header block.
-
finish
()[源代码]¶ Implements
HTTPConnection.finish
.
- stream – an
-
class
tornado.http1connection.
HTTP1ServerConnection
(stream, params=None, context=None)[源代码]¶ An HTTP/1.x server.
参数: - stream – an
IOStream
- params – a
HTTP1ConnectionParameters
or None - context – an opaque application-defined object that is accessible
as
connection.context
-
close
()[源代码]¶ Closes the connection.
Returns a
Future
that resolves after the serving loop has exited.
-
start_serving
(delegate)[源代码]¶ Starts serving requests on this connection.
参数: delegate – a HTTPServerConnectionDelegate
- stream – an