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
- **Fast HTTP Parser (gunicorn_h1c 0.4.1)**: Integrate new exception types and limit
parameters from gunicorn_h1c 0.4.1 for both WSGI and ASGI workers
- Requires gunicorn_h1c >= 0.4.1 for `http_parser='fast'`
- **Fast HTTP Parser (gunicorn_h1c 0.6.0)**: Integrate new exception types and limit
parameters from gunicorn_h1c 0.6.0 for both WSGI and ASGI workers
- Requires gunicorn_h1c >= 0.6.0 for `http_parser='fast'`
- Falls back to Python parser in `auto` mode if version not met
- Proper HTTP status codes for limit errors (414, 431)

View File

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

View File

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

View File

@ -3,4 +3,4 @@ coverage
pytest>=7.2.0
pytest-cov
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."""
if request.param == "fast":
gunicorn_h1c = pytest.importorskip("gunicorn_h1c", reason="gunicorn_h1c required")
# Require >= 0.4.1 for limit enforcement
if not hasattr(gunicorn_h1c, 'LimitRequestLine'):
pytest.skip("gunicorn_h1c >= 0.4.1 required")
# Require >= 0.6.0 for header framing validation
if not hasattr(gunicorn_h1c, 'InvalidHeader'):
pytest.skip("gunicorn_h1c >= 0.6.0 required")
return request.param