ASGI middleware for debugging ASGI applications
pip install asgi-debug
Wrap your application in the middleware like this:
from asgi_debug import asgi_debug_decorator
@asgi_debug_decorator()
async def hello_world_app(scope, receive, send):
assert scope["type"] == "http"
await send(
{
"type": "http.response.start",
"status": 200,
"headers": [[b"content-type", b"application/json"]],
}
)
await send({"type": "http.response.body", "body": b'{"hello": "world"}'})
When you run the app, debugging information will print to your terminal.
If you save the above in demo.py
you can pip install uvicorn
and run it like this:
uvicorn demo:hello_world_app