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: bytearray | None) bytes | bytearray | memoryview | AsyncResponse | 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, bytearray | None], Awaitable[bytes | bytearray | memoryview | AsyncResponse | None]]] = {}#
- headers: dict[str, str] = {'Cache-Control': 'public', 'Server': 'runtimepy', 'X-Content-Type-Options': 'nosniff'}#
- identity = 'runtimepy/5.15.7'#
- log_alias = 'HTTP'#
- logger: LoggerType#
- markdown: str#
- async post_handler(response: ResponseHeader, request: RequestHeader, request_data: bytearray | None) bytes | bytearray | memoryview | AsyncResponse | None [source]#
Sample handler.
- remote_address: _Optional[_IpHost]#
- async request(request: RequestHeader, data: bytes | bytearray | memoryview | None = None) Tuple[ResponseHeader, bytes | bytearray | memoryview | AsyncResponse | None] [source]#
Make an HTTP request.
- async request_json(request: RequestHeader, data: bytes | bytearray | memoryview | 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 | bytearray | memoryview | AsyncResponse | None]) Any [source]#
Get JSON data from an HTTP response.