mirror of
https://github.com/frappe/gunicorn.git
synced 2026-07-01 10:11:30 +08:00
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
This commit is contained in:
parent
026167acc9
commit
95b7ffeeaa
2
LICENSE
2
LICENSE
@ -1,4 +1,4 @@
|
||||
2009-2024 (c) Benoît Chesneau <benoitc@gunicorn.org>
|
||||
2009-2026 (c) Benoît Chesneau <benoitc@gunicorn.org>
|
||||
2009-2015 (c) Paul J. Davis <paul.joseph.davis@gmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
|
||||
2
NOTICE
2
NOTICE
@ -1,6 +1,6 @@
|
||||
Gunicorn
|
||||
|
||||
2009-2024 (c) Benoît Chesneau <benoitc@gunicorn.org>
|
||||
2009-2026 (c) Benoît Chesneau <benoitc@gunicorn.org>
|
||||
2009-2015 (c) Paul J. Davis <paul.joseph.davis@gmail.com>
|
||||
|
||||
Gunicorn is released under the MIT license. See the LICENSE
|
||||
|
||||
4
benchmarks/run_benchmark.py
Executable file → Normal file
4
benchmarks/run_benchmark.py
Executable file → Normal file
@ -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.
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -1,6 +1,33 @@
|
||||
<span id="news-2026"></span>
|
||||
# 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
|
||||
|
||||
@ -1,6 +1,33 @@
|
||||
<span id="news"></span>
|
||||
# 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
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -1 +1,5 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
# Tests package
|
||||
|
||||
@ -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.
|
||||
"""
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -1 +1,5 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
# Embedding service package
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
#
|
||||
|
||||
@ -1,3 +1,7 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
import cherrypy
|
||||
|
||||
|
||||
|
||||
4
examples/frameworks/django/testing/manage.py
Executable file → Normal file
4
examples/frameworks/django/testing/manage.py
Executable file → Normal file
@ -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
|
||||
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
4
examples/frameworks/django/testing/testing/apps/someapp/__init__.py
Executable file → Normal file
4
examples/frameworks/django/testing/testing/apps/someapp/__init__.py
Executable file → Normal file
@ -0,0 +1,4 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
4
examples/frameworks/django/testing/testing/apps/someapp/tests.py
Executable file → Normal file
4
examples/frameworks/django/testing/testing/apps/someapp/tests.py
Executable file → Normal file
@ -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".
|
||||
|
||||
@ -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
|
||||
|
||||
4
examples/frameworks/django/testing/testing/apps/someapp/views.py
Executable file → Normal file
4
examples/frameworks/django/testing/testing/apps/someapp/views.py
Executable file → Normal file
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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__)
|
||||
|
||||
@ -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:
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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__)
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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, ...)
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -1 +1,5 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
proc_name = "not-fooey"
|
||||
|
||||
@ -1 +1,5 @@
|
||||
#
|
||||
# This file is part of gunicorn released under the MIT license.
|
||||
# See the NOTICE for more information.
|
||||
|
||||
wsgi_app = "app1:app1"
|
||||
|
||||
@ -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."""
|
||||
|
||||
@ -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."""
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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."""
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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."""
|
||||
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
"""
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user