runtimepy.net.tcp.http package#

Module contents#

A module implementing a basic HTTP (multiple RFC’s) connection interface.

class runtimepy.net.tcp.http.HttpConnection(transport: Transport, protocol: QueueProtocol, **kwargs)[source]#

Bases: TcpConnection

A class implementing a basic HTTP interface.

env: ChannelEnvironment#
expecting_response: bool#
async get_handler(response: ResponseHeader, request: RequestHeader, request_data: bytes | None) bytes | None[source]#

Sample handler.

classmethod get_log_prefix(is_ssl: bool = False) str[source]#

Get a logging prefix for this instance.

handlers: dict[HTTPMethod, Callable[[ResponseHeader, RequestHeader, bytes | None], Awaitable[bytes | None]]] = {}#
identity = 'runtimepy/5.11.5'#
init() None[source]#

Initialize this instance.

log_alias = 'HTTP'#
logger: LoggerType#
markdown: str#
async post_handler(response: ResponseHeader, request: RequestHeader, request_data: bytes | None) bytes | None[source]#

Sample handler.

async process_binary(data: bytes) bool[source]#

Process a binary frame.

remote_address: _Optional[_IpHost]#
async request(request: RequestHeader, data: bytes | None = None) Tuple[ResponseHeader, bytes | None][source]#

Make an HTTP request.

async request_json(request: RequestHeader, data: bytes | None = None) Any[source]#

Perform a request and convert the response to a data structure by decoding it as JSON.

runtimepy.net.tcp.http.to_json(response: Tuple[ResponseHeader, bytes | None]) Any[source]#

Get JSON data from an HTTP response.