hypercorn.asyncio package#

Submodules#

Module contents#

async hypercorn.asyncio.serve(app: Union[Type[ASGI2Protocol], Callable[[Union[HTTPScope, WebsocketScope, LifespanScope], Callable[[], Awaitable[Union[HTTPRequestEvent, HTTPDisconnectEvent, WebsocketConnectEvent, WebsocketReceiveEvent, WebsocketDisconnectEvent, LifespanStartupEvent, LifespanShutdownEvent]]], Callable[[Union[HTTPResponseStartEvent, HTTPResponseBodyEvent, HTTPServerPushEvent, HTTPEarlyHintEvent, HTTPDisconnectEvent, WebsocketAcceptEvent, WebsocketSendEvent, WebsocketResponseStartEvent, WebsocketResponseBodyEvent, WebsocketCloseEvent, LifespanStartupCompleteEvent, LifespanStartupFailedEvent, LifespanShutdownCompleteEvent, LifespanShutdownFailedEvent]], Awaitable[None]]], Awaitable[None]]], config: Config, *, shutdown_trigger: Optional[Callable[[...], Awaitable[None]]] = None) None#

Serve an ASGI framework app given the config.

This allows for a programmatic way to serve an ASGI framework, it can be used via,

asyncio.run(serve(app, config))

It is assumed that the event-loop is configured before calling this function, therefore configuration values that relate to loop setup or process setup are ignored.

Parameters:
  • app – The ASGI application to serve.

  • config – A Hypercorn configuration object.

  • shutdown_trigger – This should return to trigger a graceful shutdown.