granian
granian copied to clipboard
ASGI extensions support
This issue tracks all the ASGI protocol extensions and the relevant state in Granian support. Dedicated issues to single extensions track the single implementation state.
ASGI extensions
- Lifespan state #94 (https://github.com/django/asgiref/blob/main/specs/lifespan.rst#lifespan-state)
- Websocket denial response (https://github.com/django/asgiref/blob/main/docs/extensions.rst#websocket-denial-response)
-
HTTP/2 server push (https://github.com/django/asgiref/blob/main/docs/extensions.rst#http2-server-push)– not supported by Hyper (https://github.com/hyperium/hyper/issues/1586) -
Zero Copy Send (https://asgi.readthedocs.io/en/latest/extensions.html#zero-copy-send)– not applicable to Granian as involving unsharable file descriptors between Python and Rust - Early Hints (https://github.com/django/asgiref/blob/main/docs/extensions.rst#early-hints)
- Trailers (https://github.com/django/asgiref/blob/main/docs/extensions.rst#http-trailers)
- File path #82