Controllers (harp.controllers)¶
The Controllers (harp.controllers) package contains the routing and controller logic for the Harp framework.
You probably do not want to use this package unless you’re writing an extension for Harp.
Example usage:
from harp.controllers import RoutingController, GetHandler
class MyController(RoutingController):
@GetHandler("/")
async def index(self):
return "Hello, world!"
Contents¶
- class DefaultControllerResolver[source]¶
Bases:
IControllerResolver- async resolve(request)[source]¶
- Parameters:
request (HttpRequest)
- class IControllerResolver[source]¶
Bases:
Protocol- __init__(*args, **kwargs)¶
- async resolve(request)[source]¶
- Parameters:
request (HttpRequest)
- class ProxyControllerResolver[source]¶
Bases:
DefaultControllerResolver- add_controller(controller, *, name=None, port)[source]¶
- Parameters:
controller (IAsyncController)
name (str | None)
port (int | None)
- add_endpoint(endpoint, *, controller)[source]¶
- Parameters:
endpoint (Endpoint)
controller (IAsyncController)
- async resolve(request)[source]¶
- Parameters:
request (HttpRequest)
- property ports¶
- class RoutingController[source]¶
Bases:
object- RouterType¶
alias of
Router
- RouterArguments = <harp.utils.arguments.Arguments object>¶
- prefix = None¶
- async dump_request_controller(request)[source]¶
TODO: use orjson ?
- Parameters:
request (HttpRequest)