Attention

This is the documentation for HARP Proxy, actually published as an early preview. Both the software and documentation are a work in progress, and although we already use it on various production servers, they may contain inaccuracies, typographical errors, huge mistakes and empty pages. We work hard to eradicate all mistakes and implement stuff, but it is a long and tedious process. We appreciate your patience and understanding. Of course, any help will be greatly appreciated.

harp.asgi.bridge.requests

class HttpRequestAsgiBridge[source]

Bases: HttpRequestBridge

Actually implements the getters required by HttpRequest using the asgi scope and receive callable. It is still an early implementation and will need to support streaming requests in the future.

Parameters:
__init__(scope, receive)[source]
Parameters:
get_headers()[source]

Get the headers from asgi scope, as a case-insensitive multidict.

Return type:

CIMultiDict

get_method()[source]

Get the HTTP method from asgi scope.

Return type:

str

get_path()[source]

Get the HTTP path from asgi scope (/foo/bar), without the query string part.

Return type:

str

get_query()[source]

Get the query string from asgi scope, as a multidict.

Return type:

MultiDict

get_server_ipaddr()[source]

Get the server IP address from asgi scope.

Return type:

str | None

get_server_port()[source]

Get the server port from asgi scope.

Return type:

int | None

async stream()[source]

Returns an async iterator that reads the request body chunks. This can only be used once, as it delegates to the ASGI receive callable.

Return type:

AsyncIterator[bytes]