Require gunicorn_h1c >= 0.6.0 for finish() method support

Update minimum version requirement for the fast HTTP parser to 0.6.0
which includes the finish() method for EOF handling in chunked encoding.
This commit is contained in:
Benoit Chesneau 2026-03-26 14:12:50 +01:00
parent 1f8e60c199
commit 389438fb5a
5 changed files with 11 additions and 11 deletions

View File

@ -5,9 +5,9 @@
### New Features ### New Features
- **Fast HTTP Parser (gunicorn_h1c 0.4.1)**: Integrate new exception types and limit - **Fast HTTP Parser (gunicorn_h1c 0.6.0)**: Integrate new exception types and limit
parameters from gunicorn_h1c 0.4.1 for both WSGI and ASGI workers parameters from gunicorn_h1c 0.6.0 for both WSGI and ASGI workers
- Requires gunicorn_h1c >= 0.4.1 for `http_parser='fast'` - Requires gunicorn_h1c >= 0.6.0 for `http_parser='fast'`
- Falls back to Python parser in `auto` mode if version not met - Falls back to Python parser in `auto` mode if version not met
- Proper HTTP status codes for limit errors (414, 431) - Proper HTTP status codes for limit errors (414, 431)

View File

@ -5,9 +5,9 @@
### New Features ### New Features
- **Fast HTTP Parser (gunicorn_h1c 0.4.1)**: Integrate new exception types and limit - **Fast HTTP Parser (gunicorn_h1c 0.6.0)**: Integrate new exception types and limit
parameters from gunicorn_h1c 0.4.1 for both WSGI and ASGI workers parameters from gunicorn_h1c 0.6.0 for both WSGI and ASGI workers
- Requires gunicorn_h1c >= 0.4.1 for `http_parser='fast'` - Requires gunicorn_h1c >= 0.6.0 for `http_parser='fast'`
- Falls back to Python parser in `auto` mode if version not met - Falls back to Python parser in `auto` mode if version not met
- Proper HTTP status codes for limit errors (414, 431) - Proper HTTP status codes for limit errors (414, 431)

View File

@ -53,7 +53,7 @@ tornado = ["tornado>=6.5.0"]
gthread = [] gthread = []
setproctitle = ["setproctitle"] setproctitle = ["setproctitle"]
http2 = ["h2>=4.1.0"] http2 = ["h2>=4.1.0"]
fast = ["gunicorn_h1c>=0.4.1"] fast = ["gunicorn_h1c>=0.6.0"]
testing = [ testing = [
"gevent>=24.10.1", "gevent>=24.10.1",
"eventlet>=0.40.3", "eventlet>=0.40.3",

View File

@ -3,4 +3,4 @@ coverage
pytest>=7.2.0 pytest>=7.2.0
pytest-cov pytest-cov
pytest-asyncio pytest-asyncio
gunicorn_h1c>=0.4.1 gunicorn_h1c>=0.6.0

View File

@ -21,7 +21,7 @@ def http_parser(request):
"""Parametrize tests over http_parser implementations.""" """Parametrize tests over http_parser implementations."""
if request.param == "fast": if request.param == "fast":
gunicorn_h1c = pytest.importorskip("gunicorn_h1c", reason="gunicorn_h1c required") gunicorn_h1c = pytest.importorskip("gunicorn_h1c", reason="gunicorn_h1c required")
# Require >= 0.4.1 for limit enforcement # Require >= 0.6.0 for header framing validation
if not hasattr(gunicorn_h1c, 'LimitRequestLine'): if not hasattr(gunicorn_h1c, 'InvalidHeader'):
pytest.skip("gunicorn_h1c >= 0.4.1 required") pytest.skip("gunicorn_h1c >= 0.6.0 required")
return request.param return request.param