mirror of
https://github.com/frappe/gunicorn.git
synced 2026-07-08 05:31:29 +08:00
Merge pull request #3603 from benoitc/chore/drop-python-only-after-h1c-0.6.4
chore: require gunicorn_h1c >=0.6.4 and drop python_only markers
This commit is contained in:
commit
3af35da8c7
@ -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.6.3"]
|
fast = ["gunicorn_h1c>=0.6.4"]
|
||||||
testing = [
|
testing = [
|
||||||
"gevent>=24.10.1",
|
"gevent>=24.10.1",
|
||||||
"eventlet>=0.40.3",
|
"eventlet>=0.40.3",
|
||||||
|
|||||||
@ -3,4 +3,4 @@ coverage
|
|||||||
pytest>=7.2.0
|
pytest>=7.2.0
|
||||||
pytest-cov
|
pytest-cov
|
||||||
pytest-asyncio
|
pytest-asyncio
|
||||||
gunicorn_h1c>=0.6.2
|
gunicorn_h1c>=0.6.4
|
||||||
|
|||||||
@ -20,6 +20,10 @@ if tests_dir not in sys.path:
|
|||||||
def http_parser(request):
|
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 ships as a CPython C extension; it is not reliable
|
||||||
|
# under PyPy (SIGSEGV observed in CI). Skip the fast parameter there.
|
||||||
|
if hasattr(sys, "pypy_version_info"):
|
||||||
|
pytest.skip("gunicorn_h1c not supported on PyPy")
|
||||||
gunicorn_h1c = pytest.importorskip("gunicorn_h1c", reason="gunicorn_h1c required")
|
gunicorn_h1c = pytest.importorskip("gunicorn_h1c", reason="gunicorn_h1c required")
|
||||||
# Require >= 0.6.2 for asgi_headers support
|
# Require >= 0.6.2 for asgi_headers support
|
||||||
if not hasattr(gunicorn_h1c.H1CProtocol, 'asgi_headers'):
|
if not hasattr(gunicorn_h1c.H1CProtocol, 'asgi_headers'):
|
||||||
|
|||||||
@ -7,4 +7,3 @@
|
|||||||
# appear, to prevent log/response injection and parser confusion.
|
# appear, to prevent log/response injection and parser confusion.
|
||||||
from gunicorn.http.errors import InvalidHeader
|
from gunicorn.http.errors import InvalidHeader
|
||||||
request = InvalidHeader
|
request = InvalidHeader
|
||||||
python_only = True
|
|
||||||
|
|||||||
@ -6,4 +6,3 @@
|
|||||||
# it must not appear in a field-value.
|
# it must not appear in a field-value.
|
||||||
from gunicorn.http.errors import InvalidHeader
|
from gunicorn.http.errors import InvalidHeader
|
||||||
request = InvalidHeader
|
request = InvalidHeader
|
||||||
python_only = True
|
|
||||||
|
|||||||
@ -6,4 +6,3 @@
|
|||||||
# smuggling vector; origin must reject.
|
# smuggling vector; origin must reject.
|
||||||
from gunicorn.http.errors import InvalidHeaderName
|
from gunicorn.http.errors import InvalidHeaderName
|
||||||
request = InvalidHeaderName
|
request = InvalidHeaderName
|
||||||
python_only = True
|
|
||||||
|
|||||||
@ -7,5 +7,3 @@
|
|||||||
# Content-Length, Transfer-Encoding). Accepting them enables smuggling.
|
# Content-Length, Transfer-Encoding). Accepting them enables smuggling.
|
||||||
from gunicorn.http.errors import InvalidHeaderName
|
from gunicorn.http.errors import InvalidHeaderName
|
||||||
request = InvalidHeaderName
|
request = InvalidHeaderName
|
||||||
# The C parser (gunicorn_h1c) does not yet enforce this rule.
|
|
||||||
python_only = True
|
|
||||||
|
|||||||
@ -6,4 +6,3 @@
|
|||||||
# and must not be accepted.
|
# and must not be accepted.
|
||||||
from gunicorn.http.errors import InvalidHeaderName
|
from gunicorn.http.errors import InvalidHeaderName
|
||||||
request = InvalidHeaderName
|
request = InvalidHeaderName
|
||||||
python_only = True
|
|
||||||
|
|||||||
@ -7,5 +7,3 @@
|
|||||||
# rejected as an ill-formed request-line.
|
# rejected as an ill-formed request-line.
|
||||||
from gunicorn.http.errors import InvalidRequestLine
|
from gunicorn.http.errors import InvalidRequestLine
|
||||||
request = InvalidRequestLine
|
request = InvalidRequestLine
|
||||||
# The C parser (gunicorn_h1c) does not yet enforce this rule.
|
|
||||||
python_only = True
|
|
||||||
|
|||||||
@ -6,5 +6,3 @@
|
|||||||
# the CONNECT method. Any other method carrying it must be rejected.
|
# the CONNECT method. Any other method carrying it must be rejected.
|
||||||
from gunicorn.http.errors import InvalidRequestLine
|
from gunicorn.http.errors import InvalidRequestLine
|
||||||
request = InvalidRequestLine
|
request = InvalidRequestLine
|
||||||
# The C parser (gunicorn_h1c) does not yet enforce this rule.
|
|
||||||
python_only = True
|
|
||||||
|
|||||||
@ -7,5 +7,3 @@
|
|||||||
# like "foo/bar" matches none of these and must be rejected.
|
# like "foo/bar" matches none of these and must be rejected.
|
||||||
from gunicorn.http.errors import InvalidRequestLine
|
from gunicorn.http.errors import InvalidRequestLine
|
||||||
request = InvalidRequestLine
|
request = InvalidRequestLine
|
||||||
# The C parser (gunicorn_h1c) does not yet enforce this rule.
|
|
||||||
python_only = True
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user