https://github.com/python/cpython/commit/39ba4b6619026bbe65c5844702a8a0bb6e75c4f7
commit: 39ba4b6619026bbe65c5844702a8a0bb6e75c4f7
branch: main
author: Bénédikt Tran <[email protected]>
committer: encukou <[email protected]>
date: 2025-02-24T13:43:56+01:00
summary:
gh-127522: wsgiref: indicate that `start_response` objects should follow a
specific protocol (GH-127525)
files:
M Doc/library/wsgiref.rst
diff --git a/Doc/library/wsgiref.rst b/Doc/library/wsgiref.rst
index 8d4c5eb6600e8b..381c993834753d 100644
--- a/Doc/library/wsgiref.rst
+++ b/Doc/library/wsgiref.rst
@@ -119,7 +119,8 @@ in type annotations.
applications to set up dummy environments. It should NOT be used by actual
WSGI
servers or applications, since the data is fake!
- Example usage::
+ Example usage (see also :func:`~wsgiref.simple_server.demo_app`
+ for another example)::
from wsgiref.util import setup_testing_defaults
from wsgiref.simple_server import make_server
@@ -312,6 +313,8 @@ request. (E.g., using the :func:`shift_path_info` function
from
as :mod:`wsgiref.simple_server`) is able to run a simple WSGI application
correctly.
+ The *start_response* callable should follow the :class:`.StartResponse`
protocol.
+
.. class:: WSGIServer(server_address, RequestHandlerClass)
@@ -679,7 +682,9 @@ input, output, and error streams.
This method can access the current error using ``sys.exception()``,
and should pass that information to *start_response* when calling it (as
- described in the "Error Handling" section of :pep:`3333`).
+ described in the "Error Handling" section of :pep:`3333`). In particular,
+ the *start_response* callable should follow the :class:`.StartResponse`
+ protocol.
The default implementation just uses the :attr:`error_status`,
:attr:`error_headers`, and :attr:`error_body` attributes to generate an
output
@@ -781,7 +786,7 @@ in :pep:`3333`.
.. versionadded:: 3.11
-.. class:: StartResponse()
+.. class:: StartResponse
A :class:`typing.Protocol` describing :pep:`start_response()
<3333#the-start-response-callable>`
@@ -816,7 +821,8 @@ in :pep:`3333`.
Examples
--------
-This is a working "Hello World" WSGI application::
+This is a working "Hello World" WSGI application, where the *start_response*
+callable should follow the :class:`.StartResponse` protocol::
"""
Every WSGI application must have an application object - a callable
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]