Benoit Chesneau
97fcc6f1ee
Update ASGI compatibility grid - 438/444 tests passing
2026-04-04 03:00:41 +02:00
Benoit Chesneau
06e59d252b
Fix Litestar request handling - use raw ASGI receive for body/headers
...
Litestar internally caches request.body() and request.headers which
caused stale data to be returned on subsequent requests over keep-alive
connections. Access body via receive callable and headers directly from
scope to avoid this caching behavior.
2026-04-04 02:27:57 +02:00
Benoit Chesneau
db9030b7bc
Fix Quart headers endpoint - normalize keys to lowercase
...
HTTP headers are case-insensitive. Normalize to lowercase for consistency
with tests and other frameworks.
2026-04-03 23:53:09 +02:00
Benoit Chesneau
746cc049d0
Skip HTTP 100 Continue test - invalid per RFC 7231
...
HTTP 100 Continue is an informational response that must be followed
by a final response. Testing it as a final response is invalid HTTP.
2026-04-03 23:13:27 +02:00
Benoit Chesneau
9c2bedceb7
Fix Litestar HTTP endpoints for compatibility tests
...
- Echo endpoint: add explicit status_code=200 (Litestar defaults to 201)
- Status endpoint: handle 204 No Content with empty body per HTTP spec
2026-04-03 23:13:22 +02:00
Benoit Chesneau
cbba5cb302
Fix Quart WebSocket close test app - add missing accept()
...
WebSocket connections must be accepted before they can be closed.
Added await websocket.accept() before await websocket.close(code).
2026-04-03 23:12:25 +02:00
Benoit Chesneau
65ba40b243
Update Docker setup to install gunicorn from local source
...
This allows testing local changes to gunicorn in the E2E test suite.
Previously containers were installing from GitHub master branch.
Also updates compatibility grid with latest test results (417/444, 93%).
2026-04-03 22:03:39 +02:00
Benoit Chesneau
26ae6e6f47
Add ASGI framework compatibility E2E test suite
...
Docker-based test suite validating gunicorn's ASGI worker against:
- Django + Channels
- FastAPI
- Starlette
- Quart
- Litestar
- BlackSheep
Tests cover HTTP scope, HTTP messages, WebSocket, lifespan protocol,
and streaming responses. Includes compatibility grid generator.
Results: 403/444 tests passed (90%)
2026-04-03 11:10:00 +02:00