From 95b7ffeeaa75612d24d873f3fedb733c1a51b09a Mon Sep 17 00:00:00 2001 From: Benoit Chesneau Date: Fri, 6 Feb 2026 08:21:18 +0100 Subject: [PATCH] chore: prepare release 25.0.2 - Bump version to 25.0.2 - Update copyright year to 2026 in LICENSE and NOTICE - Add license headers to all Python source files - Add changelog entry for 25.0.2 --- LICENSE | 2 +- NOTICE | 2 +- benchmarks/run_benchmark.py | 4 +++ benchmarks/simple_app.py | 4 +++ docs/content/2026-news.md | 27 +++++++++++++++++++ docs/content/news.md | 27 +++++++++++++++++++ docs/macros.py | 4 +++ examples/alt_spec.py | 4 +++ examples/bad.py | 4 +++ examples/boot_fail.py | 4 +++ examples/celery_alternative/app.py | 4 +++ examples/celery_alternative/gunicorn_conf.py | 4 +++ examples/celery_alternative/tasks.py | 4 +++ examples/celery_alternative/tests/__init__.py | 4 +++ examples/celery_alternative/tests/conftest.py | 4 +++ .../tests/test_integration.py | 4 +++ .../celery_alternative/tests/test_tasks.py | 4 +++ examples/deep/__init__.py | 4 +++ examples/dirty_example/__init__.py | 4 +++ examples/dirty_example/dirty_app.py | 4 +++ examples/dirty_example/gunicorn_conf.py | 4 +++ examples/dirty_example/test_dirty_app.py | 4 +++ examples/dirty_example/test_protocol.py | 4 +++ .../dirty_example/test_worker_integration.py | 4 +++ examples/dirty_example/wsgi_app.py | 4 +++ examples/embedding_service/__init__.py | 4 +++ examples/embedding_service/embedding_app.py | 4 +++ examples/embedding_service/gunicorn_conf.py | 4 +++ examples/embedding_service/main.py | 4 +++ examples/embedding_service/test_embedding.py | 4 +++ examples/example_config.py | 4 +++ examples/frameworks/cherryapp.py | 4 +++ examples/frameworks/django/testing/manage.py | 4 +++ .../django/testing/testing/__init__.py | 4 +++ .../django/testing/testing/apps/__init__.py | 4 +++ .../testing/testing/apps/someapp/__init__.py | 4 +++ .../testing/apps/someapp/middleware.py | 4 +++ .../testing/testing/apps/someapp/models.py | 4 +++ .../testing/testing/apps/someapp/tests.py | 4 +++ .../testing/testing/apps/someapp/urls.py | 4 +++ .../testing/testing/apps/someapp/views.py | 4 +++ .../django/testing/testing/settings.py | 4 +++ .../frameworks/django/testing/testing/urls.py | 4 +++ .../frameworks/django/testing/testing/wsgi.py | 4 +++ examples/frameworks/flask_sendfile.py | 4 +++ examples/frameworks/flaskapp.py | 4 +++ examples/frameworks/flaskapp_aiohttp_wsgi.py | 4 +++ examples/frameworks/pyramidapp.py | 4 +++ examples/frameworks/webpyapp.py | 4 +++ examples/http2_features/gunicorn_conf.py | 4 +++ examples/http2_features/test_http2.py | 4 +++ examples/http2_gevent/app.py | 4 +++ examples/http2_gevent/gunicorn_conf.py | 4 +++ examples/http2_gevent/test_http2_gevent.py | 4 +++ examples/log_app.py | 4 +++ examples/read_django_settings.py | 4 +++ examples/standalone_app.py | 4 +++ examples/streaming_chat/__init__.py | 4 +++ examples/streaming_chat/chat_app.py | 4 +++ examples/streaming_chat/gunicorn_conf.py | 4 +++ examples/streaming_chat/main.py | 4 +++ examples/streaming_chat/test_streaming.py | 4 +++ examples/websocket/gevent_websocket.py | 4 +++ examples/when_ready.conf.py | 4 +++ gunicorn/__init__.py | 2 +- gunicorn/instrument/__init__.py | 4 +++ scripts/build_settings_doc.py | 4 +++ scripts/update_thanks.py | 4 +++ tests/config/__init__.py | 4 +++ tests/config/test_cfg.py | 4 +++ tests/config/test_cfg_alt.py | 4 +++ tests/config/test_cfg_with_wsgi_app.py | 4 +++ tests/docker/__init__.py | 4 +++ tests/docker/asgi/app.py | 4 +++ tests/docker/asgi_compliance/conftest.py | 4 +++ tests/docker/http2/__init__.py | 4 +++ tests/docker/http2/app.py | 4 +++ tests/docker/http2/conftest.py | 4 +++ tests/docker/http2/test_http2_docker.py | 4 +++ tests/docker/test_asgi_uwsgi/app.py | 4 +++ tests/docker/uwsgi/app.py | 4 +++ tests/docker/uwsgi/conftest.py | 4 +++ tests/docker/uwsgi/test_uwsgi_integration.py | 4 +++ tests/requests/invalid/001.py | 4 +++ tests/requests/invalid/002.py | 4 +++ tests/requests/invalid/003.py | 4 +++ tests/requests/invalid/003b.py | 4 +++ tests/requests/invalid/003c.py | 4 +++ tests/requests/invalid/004.py | 4 +++ tests/requests/invalid/005.py | 4 +++ tests/requests/invalid/006.py | 4 +++ tests/requests/invalid/007.py | 4 +++ tests/requests/invalid/008.py | 4 +++ tests/requests/invalid/009.py | 4 +++ tests/requests/invalid/010.py | 4 +++ tests/requests/invalid/011.py | 4 +++ tests/requests/invalid/012.py | 4 +++ tests/requests/invalid/013.py | 4 +++ tests/requests/invalid/014.py | 4 +++ tests/requests/invalid/015.py | 4 +++ tests/requests/invalid/016.py | 4 +++ tests/requests/invalid/017.py | 4 +++ tests/requests/invalid/018.py | 4 +++ tests/requests/invalid/019.py | 4 +++ tests/requests/invalid/020.py | 4 +++ tests/requests/invalid/021.py | 4 +++ tests/requests/invalid/022.py | 4 +++ tests/requests/invalid/023.py | 4 +++ tests/requests/invalid/024.py | 4 +++ tests/requests/invalid/040.py | 4 +++ tests/requests/invalid/chunked_01.py | 4 +++ tests/requests/invalid/chunked_02.py | 4 +++ tests/requests/invalid/chunked_03.py | 4 +++ tests/requests/invalid/chunked_04.py | 4 +++ tests/requests/invalid/chunked_05.py | 4 +++ tests/requests/invalid/chunked_06.py | 4 +++ tests/requests/invalid/chunked_07.py | 4 +++ tests/requests/invalid/chunked_08.py | 4 +++ tests/requests/invalid/chunked_09.py | 4 +++ tests/requests/invalid/chunked_10.py | 4 +++ tests/requests/invalid/chunked_11.py | 4 +++ tests/requests/invalid/chunked_12.py | 4 +++ tests/requests/invalid/chunked_13.py | 4 +++ .../invalid/invalid_field_value_01.py | 4 +++ tests/requests/invalid/nonascii_01.py | 4 +++ tests/requests/invalid/nonascii_02.py | 4 +++ tests/requests/invalid/nonascii_03.py | 4 +++ tests/requests/invalid/nonascii_04.py | 4 +++ tests/requests/invalid/obs_fold_01.py | 4 +++ tests/requests/invalid/pp_01.py | 4 +++ tests/requests/invalid/pp_02.py | 4 +++ tests/requests/invalid/prefix_01.py | 4 +++ tests/requests/invalid/prefix_02.py | 4 +++ tests/requests/invalid/prefix_03.py | 4 +++ tests/requests/invalid/prefix_04.py | 4 +++ tests/requests/invalid/prefix_05.py | 4 +++ tests/requests/invalid/prefix_06.py | 4 +++ tests/requests/invalid/version_01.py | 4 +++ tests/requests/invalid/version_02.py | 4 +++ tests/requests/valid/001.py | 4 +++ tests/requests/valid/002.py | 4 +++ tests/requests/valid/003.py | 4 +++ tests/requests/valid/004.py | 4 +++ tests/requests/valid/005.py | 4 +++ tests/requests/valid/006.py | 4 +++ tests/requests/valid/007.py | 4 +++ tests/requests/valid/008.py | 4 +++ tests/requests/valid/009.py | 4 +++ tests/requests/valid/010.py | 4 +++ tests/requests/valid/011.py | 4 +++ tests/requests/valid/012.py | 4 +++ tests/requests/valid/013.py | 4 +++ tests/requests/valid/014.py | 4 +++ tests/requests/valid/015.py | 4 +++ tests/requests/valid/017.py | 4 +++ tests/requests/valid/018.py | 4 +++ tests/requests/valid/019.py | 4 +++ tests/requests/valid/020.py | 4 +++ tests/requests/valid/021.py | 4 +++ tests/requests/valid/022.py | 4 +++ tests/requests/valid/023.py | 4 +++ tests/requests/valid/024.py | 4 +++ tests/requests/valid/025.py | 4 +++ tests/requests/valid/025_line.py | 4 +++ tests/requests/valid/026.py | 4 +++ tests/requests/valid/027.py | 4 +++ tests/requests/valid/028.py | 4 +++ tests/requests/valid/029.py | 4 +++ tests/requests/valid/030.py | 4 +++ tests/requests/valid/031.py | 4 +++ tests/requests/valid/031compat.py | 4 +++ tests/requests/valid/031compat2.py | 4 +++ tests/requests/valid/040.py | 4 +++ tests/requests/valid/040_compat.py | 4 +++ tests/requests/valid/099.py | 4 +++ tests/requests/valid/100.py | 4 +++ tests/requests/valid/compat_obs_fold.py | 4 +++ tests/requests/valid/compat_obs_fold_huge.py | 4 +++ tests/requests/valid/padding_01.py | 4 +++ tests/requests/valid/pp_01.py | 4 +++ tests/requests/valid/pp_02.py | 4 +++ tests/requests/valid/pp_03.py | 4 +++ tests/requests/valid/pp_04.py | 4 +++ tests/requests/valid/pp_05.py | 4 +++ tests/support.py | 4 +++ tests/test_http.py | 4 +++ tests/test_logger.py | 4 +++ tests/test_reload.py | 4 +++ tests/test_statsd.py | 4 +++ tests/treq.py | 4 +++ tests/workers/__init__.py | 4 +++ 191 files changed, 801 insertions(+), 3 deletions(-) mode change 100755 => 100644 benchmarks/run_benchmark.py mode change 100755 => 100644 examples/frameworks/django/testing/manage.py mode change 100755 => 100644 examples/frameworks/django/testing/testing/apps/someapp/__init__.py mode change 100755 => 100644 examples/frameworks/django/testing/testing/apps/someapp/tests.py mode change 100755 => 100644 examples/frameworks/django/testing/testing/apps/someapp/views.py diff --git a/LICENSE b/LICENSE index 0dca6e18..07952908 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -2009-2024 (c) Benoît Chesneau +2009-2026 (c) Benoît Chesneau 2009-2015 (c) Paul J. Davis Permission is hereby granted, free of charge, to any person diff --git a/NOTICE b/NOTICE index be336539..3394600a 100644 --- a/NOTICE +++ b/NOTICE @@ -1,6 +1,6 @@ Gunicorn -2009-2024 (c) Benoît Chesneau +2009-2026 (c) Benoît Chesneau 2009-2015 (c) Paul J. Davis Gunicorn is released under the MIT license. See the LICENSE diff --git a/benchmarks/run_benchmark.py b/benchmarks/run_benchmark.py old mode 100755 new mode 100644 index a5b662a1..5a1e98cd --- a/benchmarks/run_benchmark.py +++ b/benchmarks/run_benchmark.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + #!/usr/bin/env python3 """ Benchmark script for gunicorn gthread worker. diff --git a/benchmarks/simple_app.py b/benchmarks/simple_app.py index 982f589d..1eaa50da 100644 --- a/benchmarks/simple_app.py +++ b/benchmarks/simple_app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Simple WSGI app for benchmarking def application(environ, start_response): diff --git a/docs/content/2026-news.md b/docs/content/2026-news.md index 7f70dfc5..9a9339a2 100644 --- a/docs/content/2026-news.md +++ b/docs/content/2026-news.md @@ -1,6 +1,33 @@ # Changelog - 2026 +## 25.0.2 - 2026-02-06 + +### Bug Fixes + +- Fix ASGI concurrent request failures through nginx proxy by normalizing + sockaddr tuples to handle both 2-tuple (IPv4) and 4-tuple (IPv6) formats + ([PR #3485](https://github.com/benoitc/gunicorn/pull/3485)) + +- Fix graceful disconnect handling for ASGI worker to properly handle + client disconnects without raising exceptions + ([PR #3485](https://github.com/benoitc/gunicorn/pull/3485)) + +- Fix lazy import of dirty module for gevent compatibility - prevents + import errors when concurrent.futures is imported before gevent monkey-patching + ([PR #3483](https://github.com/benoitc/gunicorn/pull/3483)) + +### Changes + +- Refactor: Extract `_normalize_sockaddr` utility function for consistent + socket address handling across workers + +- Add license headers to all Python source files + +- Update copyright year to 2026 in LICENSE and NOTICE files + +--- + ## 25.0.1 - 2026-02-02 ### Bug Fixes diff --git a/docs/content/news.md b/docs/content/news.md index 85a56427..38219af0 100644 --- a/docs/content/news.md +++ b/docs/content/news.md @@ -1,6 +1,33 @@ # Changelog +## 25.0.2 - 2026-02-06 + +### Bug Fixes + +- Fix ASGI concurrent request failures through nginx proxy by normalizing + sockaddr tuples to handle both 2-tuple (IPv4) and 4-tuple (IPv6) formats + ([PR #3485](https://github.com/benoitc/gunicorn/pull/3485)) + +- Fix graceful disconnect handling for ASGI worker to properly handle + client disconnects without raising exceptions + ([PR #3485](https://github.com/benoitc/gunicorn/pull/3485)) + +- Fix lazy import of dirty module for gevent compatibility - prevents + import errors when concurrent.futures is imported before gevent monkey-patching + ([PR #3483](https://github.com/benoitc/gunicorn/pull/3483)) + +### Changes + +- Refactor: Extract `_normalize_sockaddr` utility function for consistent + socket address handling across workers + +- Add license headers to all Python source files + +- Update copyright year to 2026 in LICENSE and NOTICE files + +--- + ## 25.0.1 - 2026-02-02 ### Bug Fixes diff --git a/docs/macros.py b/docs/macros.py index 093476ee..0f686714 100644 --- a/docs/macros.py +++ b/docs/macros.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from importlib import import_module def define_env(env): diff --git a/examples/alt_spec.py b/examples/alt_spec.py index 9a7e7c8c..42dad25b 100644 --- a/examples/alt_spec.py +++ b/examples/alt_spec.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # # An example of how to pass information from the command line to # a WSGI app. Only applies to the native WSGI workers used by diff --git a/examples/bad.py b/examples/bad.py index e39291ee..653feeb9 100644 --- a/examples/bad.py +++ b/examples/bad.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import tempfile files = [] def app(environ, start_response): diff --git a/examples/boot_fail.py b/examples/boot_fail.py index c4f80f98..10f632d0 100644 --- a/examples/boot_fail.py +++ b/examples/boot_fail.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + raise RuntimeError("Bad app!") def app(environ, start_response): diff --git a/examples/celery_alternative/app.py b/examples/celery_alternative/app.py index 737e4d18..16af52a1 100644 --- a/examples/celery_alternative/app.py +++ b/examples/celery_alternative/app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Web Application - FastAPI app demonstrating Celery replacement. diff --git a/examples/celery_alternative/gunicorn_conf.py b/examples/celery_alternative/gunicorn_conf.py index 925bf496..db3ee518 100644 --- a/examples/celery_alternative/gunicorn_conf.py +++ b/examples/celery_alternative/gunicorn_conf.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Gunicorn Configuration - Celery Replacement Example diff --git a/examples/celery_alternative/tasks.py b/examples/celery_alternative/tasks.py index 6f8c8e9c..a86d950f 100644 --- a/examples/celery_alternative/tasks.py +++ b/examples/celery_alternative/tasks.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Task Workers - Celery Replacement using Gunicorn Dirty Arbiters diff --git a/examples/celery_alternative/tests/__init__.py b/examples/celery_alternative/tests/__init__.py index d4839a6b..08536351 100644 --- a/examples/celery_alternative/tests/__init__.py +++ b/examples/celery_alternative/tests/__init__.py @@ -1 +1,5 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Tests package diff --git a/examples/celery_alternative/tests/conftest.py b/examples/celery_alternative/tests/conftest.py index e7dbdc1f..bc69f367 100644 --- a/examples/celery_alternative/tests/conftest.py +++ b/examples/celery_alternative/tests/conftest.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Pytest configuration for Celery Replacement tests. """ diff --git a/examples/celery_alternative/tests/test_integration.py b/examples/celery_alternative/tests/test_integration.py index e4fd1b26..f3893258 100644 --- a/examples/celery_alternative/tests/test_integration.py +++ b/examples/celery_alternative/tests/test_integration.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Integration Tests for Celery Replacement Example diff --git a/examples/celery_alternative/tests/test_tasks.py b/examples/celery_alternative/tests/test_tasks.py index adccc7a0..27c6d704 100644 --- a/examples/celery_alternative/tests/test_tasks.py +++ b/examples/celery_alternative/tests/test_tasks.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Unit Tests for Task Workers diff --git a/examples/deep/__init__.py b/examples/deep/__init__.py index e69de29b..79eb3bac 100644 --- a/examples/deep/__init__.py +++ b/examples/deep/__init__.py @@ -0,0 +1,4 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + diff --git a/examples/dirty_example/__init__.py b/examples/dirty_example/__init__.py index e69de29b..79eb3bac 100644 --- a/examples/dirty_example/__init__.py +++ b/examples/dirty_example/__init__.py @@ -0,0 +1,4 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + diff --git a/examples/dirty_example/dirty_app.py b/examples/dirty_example/dirty_app.py index 8a73839c..f26c4472 100644 --- a/examples/dirty_example/dirty_app.py +++ b/examples/dirty_example/dirty_app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Example Dirty Application - Simulates ML Model Loading and Inference diff --git a/examples/dirty_example/gunicorn_conf.py b/examples/dirty_example/gunicorn_conf.py index 4b6d00b0..a7877c3e 100644 --- a/examples/dirty_example/gunicorn_conf.py +++ b/examples/dirty_example/gunicorn_conf.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Gunicorn configuration for Dirty Workers Example diff --git a/examples/dirty_example/test_dirty_app.py b/examples/dirty_example/test_dirty_app.py index ee582eb9..e1f6132b 100644 --- a/examples/dirty_example/test_dirty_app.py +++ b/examples/dirty_example/test_dirty_app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + #!/usr/bin/env python """ Test script to demonstrate Dirty App functionality directly. diff --git a/examples/dirty_example/test_protocol.py b/examples/dirty_example/test_protocol.py index 008aa602..31c45b92 100644 --- a/examples/dirty_example/test_protocol.py +++ b/examples/dirty_example/test_protocol.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + #!/usr/bin/env python """ Test script to demonstrate the Dirty Protocol layer. diff --git a/examples/dirty_example/test_worker_integration.py b/examples/dirty_example/test_worker_integration.py index 176ea1d7..1711ee3d 100644 --- a/examples/dirty_example/test_worker_integration.py +++ b/examples/dirty_example/test_worker_integration.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + #!/usr/bin/env python """ Integration test demonstrating DirtyWorker execution. diff --git a/examples/dirty_example/wsgi_app.py b/examples/dirty_example/wsgi_app.py index 5aef3759..ebc19393 100644 --- a/examples/dirty_example/wsgi_app.py +++ b/examples/dirty_example/wsgi_app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Example WSGI Application that uses Dirty Workers diff --git a/examples/embedding_service/__init__.py b/examples/embedding_service/__init__.py index f3f44138..ca8eddbf 100644 --- a/examples/embedding_service/__init__.py +++ b/examples/embedding_service/__init__.py @@ -1 +1,5 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Embedding service package diff --git a/examples/embedding_service/embedding_app.py b/examples/embedding_service/embedding_app.py index 28656f84..c6ea61ff 100644 --- a/examples/embedding_service/embedding_app.py +++ b/examples/embedding_service/embedding_app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.dirty.app import DirtyApp diff --git a/examples/embedding_service/gunicorn_conf.py b/examples/embedding_service/gunicorn_conf.py index 4be43548..61994366 100644 --- a/examples/embedding_service/gunicorn_conf.py +++ b/examples/embedding_service/gunicorn_conf.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + bind = "0.0.0.0:8000" workers = 2 worker_class = "asgi" diff --git a/examples/embedding_service/main.py b/examples/embedding_service/main.py index d3405213..efb0be69 100644 --- a/examples/embedding_service/main.py +++ b/examples/embedding_service/main.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from fastapi import FastAPI from pydantic import BaseModel from gunicorn.dirty.client import get_dirty_client diff --git a/examples/embedding_service/test_embedding.py b/examples/embedding_service/test_embedding.py index 71fd8067..09930025 100644 --- a/examples/embedding_service/test_embedding.py +++ b/examples/embedding_service/test_embedding.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import os import requests import numpy as np diff --git a/examples/example_config.py b/examples/example_config.py index 1a5cd50d..b8326075 100644 --- a/examples/example_config.py +++ b/examples/example_config.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Sample Gunicorn configuration file. # diff --git a/examples/frameworks/cherryapp.py b/examples/frameworks/cherryapp.py index fa9ea676..9a23b464 100644 --- a/examples/frameworks/cherryapp.py +++ b/examples/frameworks/cherryapp.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import cherrypy diff --git a/examples/frameworks/django/testing/manage.py b/examples/frameworks/django/testing/manage.py old mode 100755 new mode 100644 index 15640449..953fd4ca --- a/examples/frameworks/django/testing/manage.py +++ b/examples/frameworks/django/testing/manage.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + #!/usr/bin/env python import os, sys diff --git a/examples/frameworks/django/testing/testing/__init__.py b/examples/frameworks/django/testing/testing/__init__.py index e69de29b..79eb3bac 100644 --- a/examples/frameworks/django/testing/testing/__init__.py +++ b/examples/frameworks/django/testing/testing/__init__.py @@ -0,0 +1,4 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + diff --git a/examples/frameworks/django/testing/testing/apps/__init__.py b/examples/frameworks/django/testing/testing/apps/__init__.py index e69de29b..79eb3bac 100644 --- a/examples/frameworks/django/testing/testing/apps/__init__.py +++ b/examples/frameworks/django/testing/testing/apps/__init__.py @@ -0,0 +1,4 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + diff --git a/examples/frameworks/django/testing/testing/apps/someapp/__init__.py b/examples/frameworks/django/testing/testing/apps/someapp/__init__.py old mode 100755 new mode 100644 index e69de29b..79eb3bac --- a/examples/frameworks/django/testing/testing/apps/someapp/__init__.py +++ b/examples/frameworks/django/testing/testing/apps/someapp/__init__.py @@ -0,0 +1,4 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + diff --git a/examples/frameworks/django/testing/testing/apps/someapp/middleware.py b/examples/frameworks/django/testing/testing/apps/someapp/middleware.py index 74d10c34..3a6329e0 100644 --- a/examples/frameworks/django/testing/testing/apps/someapp/middleware.py +++ b/examples/frameworks/django/testing/testing/apps/someapp/middleware.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from multiprocessing import Process, Queue import requests diff --git a/examples/frameworks/django/testing/testing/apps/someapp/models.py b/examples/frameworks/django/testing/testing/apps/someapp/models.py index e69de29b..79eb3bac 100644 --- a/examples/frameworks/django/testing/testing/apps/someapp/models.py +++ b/examples/frameworks/django/testing/testing/apps/someapp/models.py @@ -0,0 +1,4 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + diff --git a/examples/frameworks/django/testing/testing/apps/someapp/tests.py b/examples/frameworks/django/testing/testing/apps/someapp/tests.py old mode 100755 new mode 100644 index 85c920bb..5b2c0099 --- a/examples/frameworks/django/testing/testing/apps/someapp/tests.py +++ b/examples/frameworks/django/testing/testing/apps/someapp/tests.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ This file demonstrates two different styles of tests (one doctest and one unittest). These will both pass when you run "manage.py test". diff --git a/examples/frameworks/django/testing/testing/apps/someapp/urls.py b/examples/frameworks/django/testing/testing/apps/someapp/urls.py index c1a48263..37af2308 100644 --- a/examples/frameworks/django/testing/testing/apps/someapp/urls.py +++ b/examples/frameworks/django/testing/testing/apps/someapp/urls.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from django.conf.urls import url from . import views diff --git a/examples/frameworks/django/testing/testing/apps/someapp/views.py b/examples/frameworks/django/testing/testing/apps/someapp/views.py old mode 100755 new mode 100644 index abf77545..94b050ac --- a/examples/frameworks/django/testing/testing/apps/someapp/views.py +++ b/examples/frameworks/django/testing/testing/apps/someapp/views.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import csv import io import os diff --git a/examples/frameworks/django/testing/testing/settings.py b/examples/frameworks/django/testing/testing/settings.py index a26eaa76..f025a4f3 100644 --- a/examples/frameworks/django/testing/testing/settings.py +++ b/examples/frameworks/django/testing/testing/settings.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Django settings for testing project. DEBUG = True diff --git a/examples/frameworks/django/testing/testing/urls.py b/examples/frameworks/django/testing/testing/urls.py index bb95bf06..571c7cb0 100644 --- a/examples/frameworks/django/testing/testing/urls.py +++ b/examples/frameworks/django/testing/testing/urls.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from django.conf.urls import include, url # Uncomment the next two lines to enable the admin: diff --git a/examples/frameworks/django/testing/testing/wsgi.py b/examples/frameworks/django/testing/testing/wsgi.py index 5be3fb9c..27da1754 100644 --- a/examples/frameworks/django/testing/testing/wsgi.py +++ b/examples/frameworks/django/testing/testing/wsgi.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ WSGI config for testing project. diff --git a/examples/frameworks/flask_sendfile.py b/examples/frameworks/flask_sendfile.py index 81cde5d8..44019490 100644 --- a/examples/frameworks/flask_sendfile.py +++ b/examples/frameworks/flask_sendfile.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import io from flask import Flask, send_file diff --git a/examples/frameworks/flaskapp.py b/examples/frameworks/flaskapp.py index aabe86fd..b7051b1e 100644 --- a/examples/frameworks/flaskapp.py +++ b/examples/frameworks/flaskapp.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Run with: # # $ gunicorn flaskapp:app diff --git a/examples/frameworks/flaskapp_aiohttp_wsgi.py b/examples/frameworks/flaskapp_aiohttp_wsgi.py index 05c47b50..c10d3f55 100644 --- a/examples/frameworks/flaskapp_aiohttp_wsgi.py +++ b/examples/frameworks/flaskapp_aiohttp_wsgi.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Example command to run the example: # # $ gunicorn flaskapp_aiohttp_wsgi:aioapp -k aiohttp.worker.GunicornWebWorker diff --git a/examples/frameworks/pyramidapp.py b/examples/frameworks/pyramidapp.py index 85240e41..a13b1c75 100644 --- a/examples/frameworks/pyramidapp.py +++ b/examples/frameworks/pyramidapp.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from pyramid.config import Configurator from pyramid.response import Response diff --git a/examples/frameworks/webpyapp.py b/examples/frameworks/webpyapp.py index aa7eef3c..b2608ca4 100644 --- a/examples/frameworks/webpyapp.py +++ b/examples/frameworks/webpyapp.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Run with # # $ gunicorn webpyapp:app diff --git a/examples/http2_features/gunicorn_conf.py b/examples/http2_features/gunicorn_conf.py index dcbbf3d5..c66d211e 100644 --- a/examples/http2_features/gunicorn_conf.py +++ b/examples/http2_features/gunicorn_conf.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Gunicorn configuration for HTTP/2 features example bind = "0.0.0.0:8443" diff --git a/examples/http2_features/test_http2.py b/examples/http2_features/test_http2.py index 09cacf3a..c1640169 100644 --- a/examples/http2_features/test_http2.py +++ b/examples/http2_features/test_http2.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + #!/usr/bin/env python """ Test script for HTTP/2 features example. diff --git a/examples/http2_gevent/app.py b/examples/http2_gevent/app.py index 10b23d3a..4270fa31 100644 --- a/examples/http2_gevent/app.py +++ b/examples/http2_gevent/app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Example WSGI application demonstrating HTTP/2 with gevent worker. diff --git a/examples/http2_gevent/gunicorn_conf.py b/examples/http2_gevent/gunicorn_conf.py index c1252811..df79385f 100644 --- a/examples/http2_gevent/gunicorn_conf.py +++ b/examples/http2_gevent/gunicorn_conf.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Gunicorn configuration for HTTP/2 with gevent worker. diff --git a/examples/http2_gevent/test_http2_gevent.py b/examples/http2_gevent/test_http2_gevent.py index 8af8002c..c4e6d775 100644 --- a/examples/http2_gevent/test_http2_gevent.py +++ b/examples/http2_gevent/test_http2_gevent.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + #!/usr/bin/env python """ Tests for HTTP/2 with gevent example. diff --git a/examples/log_app.py b/examples/log_app.py index c7e97992..f4cf90a1 100644 --- a/examples/log_app.py +++ b/examples/log_app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import logging log = logging.getLogger(__name__) diff --git a/examples/read_django_settings.py b/examples/read_django_settings.py index 2e97368e..20e62fca 100644 --- a/examples/read_django_settings.py +++ b/examples/read_django_settings.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Use this config file in your script like this: diff --git a/examples/standalone_app.py b/examples/standalone_app.py index d4ec7caf..02ca04a3 100644 --- a/examples/standalone_app.py +++ b/examples/standalone_app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + #!/usr/bin/env python # # An example of a standalone application using the internal API of Gunicorn. diff --git a/examples/streaming_chat/__init__.py b/examples/streaming_chat/__init__.py index 0b5017e6..58c282d9 100644 --- a/examples/streaming_chat/__init__.py +++ b/examples/streaming_chat/__init__.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Streaming Chat Example # Demonstrates dirty worker streaming with simulated LLM token generation diff --git a/examples/streaming_chat/chat_app.py b/examples/streaming_chat/chat_app.py index a176b344..bd2ae2b1 100644 --- a/examples/streaming_chat/chat_app.py +++ b/examples/streaming_chat/chat_app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import time import random from gunicorn.dirty.app import DirtyApp diff --git a/examples/streaming_chat/gunicorn_conf.py b/examples/streaming_chat/gunicorn_conf.py index 43e51857..92dd511c 100644 --- a/examples/streaming_chat/gunicorn_conf.py +++ b/examples/streaming_chat/gunicorn_conf.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + bind = "0.0.0.0:8000" workers = 2 worker_class = "asgi" diff --git a/examples/streaming_chat/main.py b/examples/streaming_chat/main.py index bca16a2f..d2e55886 100644 --- a/examples/streaming_chat/main.py +++ b/examples/streaming_chat/main.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import json from fastapi import FastAPI from fastapi.responses import StreamingResponse, HTMLResponse diff --git a/examples/streaming_chat/test_streaming.py b/examples/streaming_chat/test_streaming.py index 9d028dac..d038af24 100644 --- a/examples/streaming_chat/test_streaming.py +++ b/examples/streaming_chat/test_streaming.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """Integration tests for the streaming chat example.""" import json diff --git a/examples/websocket/gevent_websocket.py b/examples/websocket/gevent_websocket.py index ed0cffee..30eb711b 100644 --- a/examples/websocket/gevent_websocket.py +++ b/examples/websocket/gevent_websocket.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import collections import errno import re diff --git a/examples/when_ready.conf.py b/examples/when_ready.conf.py index dc8480ef..a3168313 100644 --- a/examples/when_ready.conf.py +++ b/examples/when_ready.conf.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import signal import commands import threading diff --git a/gunicorn/__init__.py b/gunicorn/__init__.py index 3088af9f..d0a31586 100644 --- a/gunicorn/__init__.py +++ b/gunicorn/__init__.py @@ -2,7 +2,7 @@ # This file is part of gunicorn released under the MIT license. # See the NOTICE for more information. -version_info = (25, 0, 1) +version_info = (25, 0, 2) __version__ = ".".join([str(v) for v in version_info]) SERVER = "gunicorn" SERVER_SOFTWARE = "%s/%s" % (SERVER, __version__) diff --git a/gunicorn/instrument/__init__.py b/gunicorn/instrument/__init__.py index e69de29b..79eb3bac 100644 --- a/gunicorn/instrument/__init__.py +++ b/gunicorn/instrument/__init__.py @@ -0,0 +1,4 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + diff --git a/scripts/build_settings_doc.py b/scripts/build_settings_doc.py index 75174def..16be2804 100644 --- a/scripts/build_settings_doc.py +++ b/scripts/build_settings_doc.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """Generate the Markdown settings reference for MkDocs.""" from __future__ import annotations diff --git a/scripts/update_thanks.py b/scripts/update_thanks.py index b999365f..935853a1 100644 --- a/scripts/update_thanks.py +++ b/scripts/update_thanks.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + #!/usr/bin/env python # Usage: git log --format="%an <%ae>" | python update_thanks.py # You will get a result.txt file, you can work with the file (update, remove, ...) diff --git a/tests/config/__init__.py b/tests/config/__init__.py index e69de29b..79eb3bac 100644 --- a/tests/config/__init__.py +++ b/tests/config/__init__.py @@ -0,0 +1,4 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + diff --git a/tests/config/test_cfg.py b/tests/config/test_cfg.py index 53f0e6fa..5453be7f 100644 --- a/tests/config/test_cfg.py +++ b/tests/config/test_cfg.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + bind = "unix:/tmp/bar/baz" workers = 3 proc_name = "fooey" diff --git a/tests/config/test_cfg_alt.py b/tests/config/test_cfg_alt.py index a0a15dd8..1349adeb 100644 --- a/tests/config/test_cfg_alt.py +++ b/tests/config/test_cfg_alt.py @@ -1 +1,5 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + proc_name = "not-fooey" diff --git a/tests/config/test_cfg_with_wsgi_app.py b/tests/config/test_cfg_with_wsgi_app.py index 980a92b5..410d2ce1 100644 --- a/tests/config/test_cfg_with_wsgi_app.py +++ b/tests/config/test_cfg_with_wsgi_app.py @@ -1 +1,5 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + wsgi_app = "app1:app1" diff --git a/tests/docker/__init__.py b/tests/docker/__init__.py index 04c2aaf8..deefbf82 100644 --- a/tests/docker/__init__.py +++ b/tests/docker/__init__.py @@ -1 +1,5 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """Docker-based integration tests package.""" diff --git a/tests/docker/asgi/app.py b/tests/docker/asgi/app.py index 699d3577..4b0b62da 100644 --- a/tests/docker/asgi/app.py +++ b/tests/docker/asgi/app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """Simple ASGI test application for HTTP protocol testing.""" diff --git a/tests/docker/asgi_compliance/conftest.py b/tests/docker/asgi_compliance/conftest.py index 3c14e6d8..2fa259c5 100644 --- a/tests/docker/asgi_compliance/conftest.py +++ b/tests/docker/asgi_compliance/conftest.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """Pytest fixtures for ASGI compliance Docker integration tests.""" import subprocess diff --git a/tests/docker/http2/__init__.py b/tests/docker/http2/__init__.py index 9d0072b9..97d5fd10 100644 --- a/tests/docker/http2/__init__.py +++ b/tests/docker/http2/__init__.py @@ -1 +1,5 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """HTTP/2 Docker integration tests package.""" diff --git a/tests/docker/http2/app.py b/tests/docker/http2/app.py index 29b01517..be8c77ff 100644 --- a/tests/docker/http2/app.py +++ b/tests/docker/http2/app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """Test WSGI application for HTTP/2 Docker integration tests.""" import json diff --git a/tests/docker/http2/conftest.py b/tests/docker/http2/conftest.py index b9cdc180..ca3f1989 100644 --- a/tests/docker/http2/conftest.py +++ b/tests/docker/http2/conftest.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """Pytest fixtures for HTTP/2 Docker integration tests.""" import subprocess diff --git a/tests/docker/http2/test_http2_docker.py b/tests/docker/http2/test_http2_docker.py index 2252246e..1937faca 100644 --- a/tests/docker/http2/test_http2_docker.py +++ b/tests/docker/http2/test_http2_docker.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """HTTP/2 Docker integration tests. These tests verify HTTP/2 functionality with real connections to gunicorn diff --git a/tests/docker/test_asgi_uwsgi/app.py b/tests/docker/test_asgi_uwsgi/app.py index ab56164b..710baac0 100644 --- a/tests/docker/test_asgi_uwsgi/app.py +++ b/tests/docker/test_asgi_uwsgi/app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """Simple ASGI test application for uWSGI protocol testing.""" diff --git a/tests/docker/uwsgi/app.py b/tests/docker/uwsgi/app.py index 6eb681cf..e657cf9a 100644 --- a/tests/docker/uwsgi/app.py +++ b/tests/docker/uwsgi/app.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Test WSGI application for uWSGI protocol integration tests. diff --git a/tests/docker/uwsgi/conftest.py b/tests/docker/uwsgi/conftest.py index a31e0de3..bf7cd57a 100644 --- a/tests/docker/uwsgi/conftest.py +++ b/tests/docker/uwsgi/conftest.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ pytest fixtures for uWSGI Docker integration tests. """ diff --git a/tests/docker/uwsgi/test_uwsgi_integration.py b/tests/docker/uwsgi/test_uwsgi_integration.py index eea9a9e5..34850465 100644 --- a/tests/docker/uwsgi/test_uwsgi_integration.py +++ b/tests/docker/uwsgi/test_uwsgi_integration.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + """ Integration tests for gunicorn's uWSGI binary protocol with nginx. diff --git a/tests/requests/invalid/001.py b/tests/requests/invalid/001.py index 585874e0..3250de8f 100644 --- a/tests/requests/invalid/001.py +++ b/tests/requests/invalid/001.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import NoMoreData request = NoMoreData \ No newline at end of file diff --git a/tests/requests/invalid/002.py b/tests/requests/invalid/002.py index 5a4ca896..e3721d72 100644 --- a/tests/requests/invalid/002.py +++ b/tests/requests/invalid/002.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidRequestLine request = InvalidRequestLine diff --git a/tests/requests/invalid/003.py b/tests/requests/invalid/003.py index 5a4ca896..e3721d72 100644 --- a/tests/requests/invalid/003.py +++ b/tests/requests/invalid/003.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidRequestLine request = InvalidRequestLine diff --git a/tests/requests/invalid/003b.py b/tests/requests/invalid/003b.py index 86a0774e..9b499959 100644 --- a/tests/requests/invalid/003b.py +++ b/tests/requests/invalid/003b.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidRequestMethod request = InvalidRequestMethod \ No newline at end of file diff --git a/tests/requests/invalid/003c.py b/tests/requests/invalid/003c.py index 1dac27c0..7dbc1bc8 100644 --- a/tests/requests/invalid/003c.py +++ b/tests/requests/invalid/003c.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidRequestMethod request = InvalidRequestMethod diff --git a/tests/requests/invalid/004.py b/tests/requests/invalid/004.py index 98532cff..2bb9ed93 100644 --- a/tests/requests/invalid/004.py +++ b/tests/requests/invalid/004.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHTTPVersion request = InvalidHTTPVersion \ No newline at end of file diff --git a/tests/requests/invalid/005.py b/tests/requests/invalid/005.py index 6e1cf2e9..79dd643f 100644 --- a/tests/requests/invalid/005.py +++ b/tests/requests/invalid/005.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeaderName request = InvalidHeaderName \ No newline at end of file diff --git a/tests/requests/invalid/006.py b/tests/requests/invalid/006.py index db7d6092..4144bf76 100644 --- a/tests/requests/invalid/006.py +++ b/tests/requests/invalid/006.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import LimitRequestLine request = LimitRequestLine diff --git a/tests/requests/invalid/007.py b/tests/requests/invalid/007.py index b22f2fe4..3956711e 100644 --- a/tests/requests/invalid/007.py +++ b/tests/requests/invalid/007.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import LimitRequestHeaders request = LimitRequestHeaders diff --git a/tests/requests/invalid/008.py b/tests/requests/invalid/008.py index b22f2fe4..3956711e 100644 --- a/tests/requests/invalid/008.py +++ b/tests/requests/invalid/008.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import LimitRequestHeaders request = LimitRequestHeaders diff --git a/tests/requests/invalid/009.py b/tests/requests/invalid/009.py index b22f2fe4..3956711e 100644 --- a/tests/requests/invalid/009.py +++ b/tests/requests/invalid/009.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import LimitRequestHeaders request = LimitRequestHeaders diff --git a/tests/requests/invalid/010.py b/tests/requests/invalid/010.py index 5b2bffc6..ec1735d8 100644 --- a/tests/requests/invalid/010.py +++ b/tests/requests/invalid/010.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import LimitRequestHeaders diff --git a/tests/requests/invalid/011.py b/tests/requests/invalid/011.py index 26e302ed..51c627e5 100644 --- a/tests/requests/invalid/011.py +++ b/tests/requests/invalid/011.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import LimitRequestHeaders diff --git a/tests/requests/invalid/012.py b/tests/requests/invalid/012.py index dbf468b6..1e4c7882 100644 --- a/tests/requests/invalid/012.py +++ b/tests/requests/invalid/012.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import LimitRequestHeaders diff --git a/tests/requests/invalid/013.py b/tests/requests/invalid/013.py index acfcac0a..9e8a1200 100644 --- a/tests/requests/invalid/013.py +++ b/tests/requests/invalid/013.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import LimitRequestHeaders diff --git a/tests/requests/invalid/014.py b/tests/requests/invalid/014.py index 4dcf8254..20c9b4cd 100644 --- a/tests/requests/invalid/014.py +++ b/tests/requests/invalid/014.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeader request = InvalidHeader diff --git a/tests/requests/invalid/015.py b/tests/requests/invalid/015.py index 4dcf8254..20c9b4cd 100644 --- a/tests/requests/invalid/015.py +++ b/tests/requests/invalid/015.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeader request = InvalidHeader diff --git a/tests/requests/invalid/016.py b/tests/requests/invalid/016.py index 98f43e00..bbbecfdd 100644 --- a/tests/requests/invalid/016.py +++ b/tests/requests/invalid/016.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidRequestLine request = InvalidRequestLine diff --git a/tests/requests/invalid/017.py b/tests/requests/invalid/017.py index 3c66bca5..72c6bcdf 100644 --- a/tests/requests/invalid/017.py +++ b/tests/requests/invalid/017.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import LimitRequestHeaders diff --git a/tests/requests/invalid/018.py b/tests/requests/invalid/018.py index 760840b6..c2c68ccc 100644 --- a/tests/requests/invalid/018.py +++ b/tests/requests/invalid/018.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHTTPVersion request = InvalidHTTPVersion diff --git a/tests/requests/invalid/019.py b/tests/requests/invalid/019.py index 4779f7e6..98aa3559 100644 --- a/tests/requests/invalid/019.py +++ b/tests/requests/invalid/019.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidSchemeHeaders diff --git a/tests/requests/invalid/020.py b/tests/requests/invalid/020.py index d336fbc8..5fcf941d 100644 --- a/tests/requests/invalid/020.py +++ b/tests/requests/invalid/020.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHeaderName diff --git a/tests/requests/invalid/021.py b/tests/requests/invalid/021.py index 95b0581a..4e181701 100644 --- a/tests/requests/invalid/021.py +++ b/tests/requests/invalid/021.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHeader diff --git a/tests/requests/invalid/022.py b/tests/requests/invalid/022.py index 95b0581a..4e181701 100644 --- a/tests/requests/invalid/022.py +++ b/tests/requests/invalid/022.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHeader diff --git a/tests/requests/invalid/023.py b/tests/requests/invalid/023.py index 95b0581a..4e181701 100644 --- a/tests/requests/invalid/023.py +++ b/tests/requests/invalid/023.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHeader diff --git a/tests/requests/invalid/024.py b/tests/requests/invalid/024.py index 95b0581a..4e181701 100644 --- a/tests/requests/invalid/024.py +++ b/tests/requests/invalid/024.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHeader diff --git a/tests/requests/invalid/040.py b/tests/requests/invalid/040.py index 643289fa..268b604f 100644 --- a/tests/requests/invalid/040.py +++ b/tests/requests/invalid/040.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeaderName from gunicorn.config import Config diff --git a/tests/requests/invalid/chunked_01.py b/tests/requests/invalid/chunked_01.py index 0571e118..b35d02e5 100644 --- a/tests/requests/invalid/chunked_01.py +++ b/tests/requests/invalid/chunked_01.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidChunkSize request = InvalidChunkSize diff --git a/tests/requests/invalid/chunked_02.py b/tests/requests/invalid/chunked_02.py index 1541eb70..e58996b0 100644 --- a/tests/requests/invalid/chunked_02.py +++ b/tests/requests/invalid/chunked_02.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeader request = InvalidHeader diff --git a/tests/requests/invalid/chunked_03.py b/tests/requests/invalid/chunked_03.py index e4d57418..fb2aac5f 100644 --- a/tests/requests/invalid/chunked_03.py +++ b/tests/requests/invalid/chunked_03.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeader request = InvalidHeader diff --git a/tests/requests/invalid/chunked_04.py b/tests/requests/invalid/chunked_04.py index 1541eb70..e58996b0 100644 --- a/tests/requests/invalid/chunked_04.py +++ b/tests/requests/invalid/chunked_04.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeader request = InvalidHeader diff --git a/tests/requests/invalid/chunked_05.py b/tests/requests/invalid/chunked_05.py index 1541eb70..e58996b0 100644 --- a/tests/requests/invalid/chunked_05.py +++ b/tests/requests/invalid/chunked_05.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeader request = InvalidHeader diff --git a/tests/requests/invalid/chunked_06.py b/tests/requests/invalid/chunked_06.py index e4d57418..fb2aac5f 100644 --- a/tests/requests/invalid/chunked_06.py +++ b/tests/requests/invalid/chunked_06.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeader request = InvalidHeader diff --git a/tests/requests/invalid/chunked_07.py b/tests/requests/invalid/chunked_07.py index 643289fa..268b604f 100644 --- a/tests/requests/invalid/chunked_07.py +++ b/tests/requests/invalid/chunked_07.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeaderName from gunicorn.config import Config diff --git a/tests/requests/invalid/chunked_08.py b/tests/requests/invalid/chunked_08.py index 1541eb70..e58996b0 100644 --- a/tests/requests/invalid/chunked_08.py +++ b/tests/requests/invalid/chunked_08.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHeader request = InvalidHeader diff --git a/tests/requests/invalid/chunked_09.py b/tests/requests/invalid/chunked_09.py index 0571e118..b35d02e5 100644 --- a/tests/requests/invalid/chunked_09.py +++ b/tests/requests/invalid/chunked_09.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidChunkSize request = InvalidChunkSize diff --git a/tests/requests/invalid/chunked_10.py b/tests/requests/invalid/chunked_10.py index 0571e118..b35d02e5 100644 --- a/tests/requests/invalid/chunked_10.py +++ b/tests/requests/invalid/chunked_10.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidChunkSize request = InvalidChunkSize diff --git a/tests/requests/invalid/chunked_11.py b/tests/requests/invalid/chunked_11.py index 0571e118..b35d02e5 100644 --- a/tests/requests/invalid/chunked_11.py +++ b/tests/requests/invalid/chunked_11.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidChunkSize request = InvalidChunkSize diff --git a/tests/requests/invalid/chunked_12.py b/tests/requests/invalid/chunked_12.py index 0571e118..b35d02e5 100644 --- a/tests/requests/invalid/chunked_12.py +++ b/tests/requests/invalid/chunked_12.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidChunkSize request = InvalidChunkSize diff --git a/tests/requests/invalid/chunked_13.py b/tests/requests/invalid/chunked_13.py index 0571e118..b35d02e5 100644 --- a/tests/requests/invalid/chunked_13.py +++ b/tests/requests/invalid/chunked_13.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidChunkSize request = InvalidChunkSize diff --git a/tests/requests/invalid/invalid_field_value_01.py b/tests/requests/invalid/invalid_field_value_01.py index 95b0581a..4e181701 100644 --- a/tests/requests/invalid/invalid_field_value_01.py +++ b/tests/requests/invalid/invalid_field_value_01.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHeader diff --git a/tests/requests/invalid/nonascii_01.py b/tests/requests/invalid/nonascii_01.py index 0da10f42..92a3f326 100644 --- a/tests/requests/invalid/nonascii_01.py +++ b/tests/requests/invalid/nonascii_01.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidRequestMethod diff --git a/tests/requests/invalid/nonascii_02.py b/tests/requests/invalid/nonascii_02.py index 0da10f42..92a3f326 100644 --- a/tests/requests/invalid/nonascii_02.py +++ b/tests/requests/invalid/nonascii_02.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidRequestMethod diff --git a/tests/requests/invalid/nonascii_03.py b/tests/requests/invalid/nonascii_03.py index d336fbc8..5fcf941d 100644 --- a/tests/requests/invalid/nonascii_03.py +++ b/tests/requests/invalid/nonascii_03.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHeaderName diff --git a/tests/requests/invalid/nonascii_04.py b/tests/requests/invalid/nonascii_04.py index d336fbc8..5fcf941d 100644 --- a/tests/requests/invalid/nonascii_04.py +++ b/tests/requests/invalid/nonascii_04.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHeaderName diff --git a/tests/requests/invalid/obs_fold_01.py b/tests/requests/invalid/obs_fold_01.py index 2c03b466..af953e90 100644 --- a/tests/requests/invalid/obs_fold_01.py +++ b/tests/requests/invalid/obs_fold_01.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import ObsoleteFolding request = ObsoleteFolding diff --git a/tests/requests/invalid/pp_01.py b/tests/requests/invalid/pp_01.py index c6d13193..8540e598 100644 --- a/tests/requests/invalid/pp_01.py +++ b/tests/requests/invalid/pp_01.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidProxyLine diff --git a/tests/requests/invalid/pp_02.py b/tests/requests/invalid/pp_02.py index a7fa74e0..0999e652 100644 --- a/tests/requests/invalid/pp_02.py +++ b/tests/requests/invalid/pp_02.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidProxyLine diff --git a/tests/requests/invalid/prefix_01.py b/tests/requests/invalid/prefix_01.py index 86a0774e..9b499959 100644 --- a/tests/requests/invalid/prefix_01.py +++ b/tests/requests/invalid/prefix_01.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidRequestMethod request = InvalidRequestMethod \ No newline at end of file diff --git a/tests/requests/invalid/prefix_02.py b/tests/requests/invalid/prefix_02.py index 86a0774e..9b499959 100644 --- a/tests/requests/invalid/prefix_02.py +++ b/tests/requests/invalid/prefix_02.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidRequestMethod request = InvalidRequestMethod \ No newline at end of file diff --git a/tests/requests/invalid/prefix_03.py b/tests/requests/invalid/prefix_03.py index 95b0581a..4e181701 100644 --- a/tests/requests/invalid/prefix_03.py +++ b/tests/requests/invalid/prefix_03.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHeader diff --git a/tests/requests/invalid/prefix_04.py b/tests/requests/invalid/prefix_04.py index 95b0581a..4e181701 100644 --- a/tests/requests/invalid/prefix_04.py +++ b/tests/requests/invalid/prefix_04.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHeader diff --git a/tests/requests/invalid/prefix_05.py b/tests/requests/invalid/prefix_05.py index 0da10f42..92a3f326 100644 --- a/tests/requests/invalid/prefix_05.py +++ b/tests/requests/invalid/prefix_05.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidRequestMethod diff --git a/tests/requests/invalid/prefix_06.py b/tests/requests/invalid/prefix_06.py index b2286d42..32929e82 100644 --- a/tests/requests/invalid/prefix_06.py +++ b/tests/requests/invalid/prefix_06.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config from gunicorn.http.errors import InvalidHTTPVersion diff --git a/tests/requests/invalid/version_01.py b/tests/requests/invalid/version_01.py index 760840b6..c2c68ccc 100644 --- a/tests/requests/invalid/version_01.py +++ b/tests/requests/invalid/version_01.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHTTPVersion request = InvalidHTTPVersion diff --git a/tests/requests/invalid/version_02.py b/tests/requests/invalid/version_02.py index 760840b6..c2c68ccc 100644 --- a/tests/requests/invalid/version_02.py +++ b/tests/requests/invalid/version_02.py @@ -1,2 +1,6 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import InvalidHTTPVersion request = InvalidHTTPVersion diff --git a/tests/requests/valid/001.py b/tests/requests/valid/001.py index 1eee7b5e..dfc67d0c 100644 --- a/tests/requests/valid/001.py +++ b/tests/requests/valid/001.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "PUT", "uri": uri("/stuff/here?foo=bar"), diff --git a/tests/requests/valid/002.py b/tests/requests/valid/002.py index b511ffb6..c0af10a4 100644 --- a/tests/requests/valid/002.py +++ b/tests/requests/valid/002.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/test"), diff --git a/tests/requests/valid/003.py b/tests/requests/valid/003.py index 8ce87f80..11ca57e5 100644 --- a/tests/requests/valid/003.py +++ b/tests/requests/valid/003.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/favicon.ico"), diff --git a/tests/requests/valid/004.py b/tests/requests/valid/004.py index 6006f144..16285017 100644 --- a/tests/requests/valid/004.py +++ b/tests/requests/valid/004.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/silly"), diff --git a/tests/requests/valid/005.py b/tests/requests/valid/005.py index a7e54472..30587cb0 100644 --- a/tests/requests/valid/005.py +++ b/tests/requests/valid/005.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/forums/1/topics/2375?page=1#posts-17408"), diff --git a/tests/requests/valid/006.py b/tests/requests/valid/006.py index 01a4be17..019bf0af 100644 --- a/tests/requests/valid/006.py +++ b/tests/requests/valid/006.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/get_no_headers_no_body/world"), diff --git a/tests/requests/valid/007.py b/tests/requests/valid/007.py index f5c2c798..51dee399 100644 --- a/tests/requests/valid/007.py +++ b/tests/requests/valid/007.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/get_one_header_no_body"), diff --git a/tests/requests/valid/008.py b/tests/requests/valid/008.py index 379f9a2b..3a7e80e8 100644 --- a/tests/requests/valid/008.py +++ b/tests/requests/valid/008.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/unusual_content_length"), diff --git a/tests/requests/valid/009.py b/tests/requests/valid/009.py index 7e1f52dd..ab2eda20 100644 --- a/tests/requests/valid/009.py +++ b/tests/requests/valid/009.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "POST", "uri": uri("/post_identity_body_world?q=search#hey"), diff --git a/tests/requests/valid/010.py b/tests/requests/valid/010.py index 996ef381..615ecb24 100644 --- a/tests/requests/valid/010.py +++ b/tests/requests/valid/010.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "POST", "uri": uri("/post_chunked_all_your_base"), diff --git a/tests/requests/valid/011.py b/tests/requests/valid/011.py index 05555adc..8a3643ff 100644 --- a/tests/requests/valid/011.py +++ b/tests/requests/valid/011.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "POST", "uri": uri("/two_chunks_mult_zero_end"), diff --git a/tests/requests/valid/012.py b/tests/requests/valid/012.py index af071e5b..c98ca87f 100644 --- a/tests/requests/valid/012.py +++ b/tests/requests/valid/012.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "POST", "uri": uri("/chunked_w_trailing_headers"), diff --git a/tests/requests/valid/013.py b/tests/requests/valid/013.py index 75ae982d..a33e99c1 100644 --- a/tests/requests/valid/013.py +++ b/tests/requests/valid/013.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "POST", "uri": uri("/chunked_w_extensions"), diff --git a/tests/requests/valid/014.py b/tests/requests/valid/014.py index 0b1b0d2b..67cfe2a9 100644 --- a/tests/requests/valid/014.py +++ b/tests/requests/valid/014.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri('/with_"quotes"?foo="bar"'), diff --git a/tests/requests/valid/015.py b/tests/requests/valid/015.py index cd2b14f5..e0bfc5ad 100644 --- a/tests/requests/valid/015.py +++ b/tests/requests/valid/015.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/test"), diff --git a/tests/requests/valid/017.py b/tests/requests/valid/017.py index 5fe13e86..6b695ca4 100644 --- a/tests/requests/valid/017.py +++ b/tests/requests/valid/017.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/stuff/here?foo=bar"), diff --git a/tests/requests/valid/018.py b/tests/requests/valid/018.py index fa10a96c..8eb83ff8 100644 --- a/tests/requests/valid/018.py +++ b/tests/requests/valid/018.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + req1 = { "method": "GET", "uri": uri("/first"), diff --git a/tests/requests/valid/019.py b/tests/requests/valid/019.py index 6fabd151..499ee9fd 100644 --- a/tests/requests/valid/019.py +++ b/tests/requests/valid/019.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/first"), diff --git a/tests/requests/valid/020.py b/tests/requests/valid/020.py index f5cfa21d..467dab84 100644 --- a/tests/requests/valid/020.py +++ b/tests/requests/valid/020.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/first"), diff --git a/tests/requests/valid/021.py b/tests/requests/valid/021.py index 992dd308..a30a523c 100644 --- a/tests/requests/valid/021.py +++ b/tests/requests/valid/021.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/first"), diff --git a/tests/requests/valid/022.py b/tests/requests/valid/022.py index 9b87e5e5..8181dc5e 100644 --- a/tests/requests/valid/022.py +++ b/tests/requests/valid/022.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + req1 = { "method": "GET", "uri": uri("/first"), diff --git a/tests/requests/valid/023.py b/tests/requests/valid/023.py index f9a0ef5d..1632093b 100644 --- a/tests/requests/valid/023.py +++ b/tests/requests/valid/023.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + req1 = { "method": "POST", "uri": uri("/two_chunks_mult_zero_end"), diff --git a/tests/requests/valid/024.py b/tests/requests/valid/024.py index 9e6242cb..3dc8a597 100644 --- a/tests/requests/valid/024.py +++ b/tests/requests/valid/024.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/025.py b/tests/requests/valid/025.py index d2387068..60e1a51b 100644 --- a/tests/requests/valid/025.py +++ b/tests/requests/valid/025.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "POST", "uri": uri("/chunked"), diff --git a/tests/requests/valid/025_line.py b/tests/requests/valid/025_line.py index b2ebc652..5464a52e 100644 --- a/tests/requests/valid/025_line.py +++ b/tests/requests/valid/025_line.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "POST", "uri": uri("/chunked"), diff --git a/tests/requests/valid/026.py b/tests/requests/valid/026.py index 7b7805e4..a56e7ae5 100644 --- a/tests/requests/valid/026.py +++ b/tests/requests/valid/026.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/027.py b/tests/requests/valid/027.py index 1673e5c1..41947e3d 100644 --- a/tests/requests/valid/027.py +++ b/tests/requests/valid/027.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/\xc3\xa0%20k"), diff --git a/tests/requests/valid/028.py b/tests/requests/valid/028.py index d8254683..8be645f4 100644 --- a/tests/requests/valid/028.py +++ b/tests/requests/valid/028.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/029.py b/tests/requests/valid/029.py index 64d02660..5421c0bc 100644 --- a/tests/requests/valid/029.py +++ b/tests/requests/valid/029.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/030.py b/tests/requests/valid/030.py index 3e98467b..8d722692 100644 --- a/tests/requests/valid/030.py +++ b/tests/requests/valid/030.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/031.py b/tests/requests/valid/031.py index 9691a002..eec256ed 100644 --- a/tests/requests/valid/031.py +++ b/tests/requests/valid/031.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "-BLARGH", "uri": uri("/foo"), diff --git a/tests/requests/valid/031compat.py b/tests/requests/valid/031compat.py index 424b7cb4..9f4b71da 100644 --- a/tests/requests/valid/031compat.py +++ b/tests/requests/valid/031compat.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/031compat2.py b/tests/requests/valid/031compat2.py index 594a8b6a..60d63bc1 100644 --- a/tests/requests/valid/031compat2.py +++ b/tests/requests/valid/031compat2.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/040.py b/tests/requests/valid/040.py index 7c2243d9..b58e38fe 100644 --- a/tests/requests/valid/040.py +++ b/tests/requests/valid/040.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("/keep/same/as?invalid/040"), diff --git a/tests/requests/valid/040_compat.py b/tests/requests/valid/040_compat.py index 5f13487c..300cace5 100644 --- a/tests/requests/valid/040_compat.py +++ b/tests/requests/valid/040_compat.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/099.py b/tests/requests/valid/099.py index e4256f66..bbffae8d 100644 --- a/tests/requests/valid/099.py +++ b/tests/requests/valid/099.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "POST", "uri": uri("/test-form"), diff --git a/tests/requests/valid/100.py b/tests/requests/valid/100.py index f526f9a9..75b4a389 100644 --- a/tests/requests/valid/100.py +++ b/tests/requests/valid/100.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", "uri": uri("///keeping_slashes"), diff --git a/tests/requests/valid/compat_obs_fold.py b/tests/requests/valid/compat_obs_fold.py index ba41b7d4..4adb614c 100644 --- a/tests/requests/valid/compat_obs_fold.py +++ b/tests/requests/valid/compat_obs_fold.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.http.errors import ObsoleteFolding from gunicorn.config import Config diff --git a/tests/requests/valid/compat_obs_fold_huge.py b/tests/requests/valid/compat_obs_fold_huge.py index a0f46c14..f196290d 100644 --- a/tests/requests/valid/compat_obs_fold_huge.py +++ b/tests/requests/valid/compat_obs_fold_huge.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/padding_01.py b/tests/requests/valid/padding_01.py index d58f6720..6eca7758 100644 --- a/tests/requests/valid/padding_01.py +++ b/tests/requests/valid/padding_01.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + request = { "method": "GET", diff --git a/tests/requests/valid/pp_01.py b/tests/requests/valid/pp_01.py index 8f112506..cf2124c8 100644 --- a/tests/requests/valid/pp_01.py +++ b/tests/requests/valid/pp_01.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/pp_02.py b/tests/requests/valid/pp_02.py index 701ff2a7..3e704c03 100644 --- a/tests/requests/valid/pp_02.py +++ b/tests/requests/valid/pp_02.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/pp_03.py b/tests/requests/valid/pp_03.py index 70112876..d23d3048 100644 --- a/tests/requests/valid/pp_03.py +++ b/tests/requests/valid/pp_03.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/pp_04.py b/tests/requests/valid/pp_04.py index cbf6e7a8..91b19f92 100644 --- a/tests/requests/valid/pp_04.py +++ b/tests/requests/valid/pp_04.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/requests/valid/pp_05.py b/tests/requests/valid/pp_05.py index 80e2b764..ae9e7ea4 100644 --- a/tests/requests/valid/pp_05.py +++ b/tests/requests/valid/pp_05.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + from gunicorn.config import Config cfg = Config() diff --git a/tests/support.py b/tests/support.py index f50c2422..c06383d2 100644 --- a/tests/support.py +++ b/tests/support.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import functools import sys import unittest diff --git a/tests/test_http.py b/tests/test_http.py index 94a3a9d3..8af0551d 100644 --- a/tests/test_http.py +++ b/tests/test_http.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import io import t import pytest diff --git a/tests/test_logger.py b/tests/test_logger.py index 54801266..a4b69d55 100644 --- a/tests/test_logger.py +++ b/tests/test_logger.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import datetime from types import SimpleNamespace diff --git a/tests/test_reload.py b/tests/test_reload.py index f5b18258..9402af23 100644 --- a/tests/test_reload.py +++ b/tests/test_reload.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import unittest.mock as mock from gunicorn.app.base import Application diff --git a/tests/test_statsd.py b/tests/test_statsd.py index 88adb004..b659e78b 100644 --- a/tests/test_statsd.py +++ b/tests/test_statsd.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + import io import logging import os diff --git a/tests/treq.py b/tests/treq.py index e341780c..a37ddd9f 100644 --- a/tests/treq.py +++ b/tests/treq.py @@ -1,3 +1,7 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. + # Copyright 2009 Paul J. Davis # # This file is part of the pywebmachine package released diff --git a/tests/workers/__init__.py b/tests/workers/__init__.py index e69de29b..79eb3bac 100644 --- a/tests/workers/__init__.py +++ b/tests/workers/__init__.py @@ -0,0 +1,4 @@ +# +# This file is part of gunicorn released under the MIT license. +# See the NOTICE for more information. +