Commit Graph

78 Commits

Author SHA1 Message Date
Benedikt Johannes d931725bc8 gh-144370: Disallow usage of control characters in status in wsgiref.handlers for security (#144371)
Disallow usage of control characters in status in wsgiref.handlers
to prevent HTTP header injections.

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-03-06 13:22:21 +01:00
Seth Michael Larson 66da7bf6fe gh-143916: Allow HTAB in wsgiref header values
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-02-12 20:40:21 +00:00
Seth Michael Larson f7fceed79c gh-143916: Reject control characters in wsgiref.headers.Headers (GH-143917)
* Add 'test.support' fixture for C0 control characters
* gh-143916: Reject control characters in wsgiref.headers.Headers
2026-01-17 09:46:21 -08:00
Hugo van Kemenade c10ec48bb9 gh-76007: Deprecate __version__ attribute in wsgiref.simple_server (#142675) 2025-12-16 14:08:51 +02:00
Bénédikt Tran faac627e47 gh-133810: remove http.server.CGIHTTPRequestHandler and --cgi flag (#133811)
The CGI HTTP request handler has been deprecated since Python 3.13.
2025-05-17 09:58:16 +02:00
Hugo van Kemenade 91f4908798 gh-126133: Only use start year in PSF copyright, remove end years (#126236) 2024-11-12 15:59:19 +02:00
Geoffrey Thomas ef172521a9 Remove almost all unpaired backticks in docstrings (#119231)
As reported in #117847 and #115366, an unpaired backtick in a docstring
tends to confuse e.g. Sphinx running on subclasses of standard library
objects, and the typographic style of using a backtick as an opening
quote is no longer in favor. Convert almost all uses of the form

    The variable `foo' should do xyz

to

    The variable 'foo' should do xyz

and also fix up miscellaneous other unpaired backticks (extraneous /
missing characters).

No functional change is intended here other than in human-readable
docstrings.
2024-05-22 12:35:18 -04:00
Stefan f88caab467 gh-111768: Add wsgiref.util.is_hop_by_hop to __all__ (#111770) 2023-11-08 15:29:47 +00:00
c-bata 8c47ada2de gh-66425: Remove the unreachable code to set REMOTE_HOST header (gh-111441) 2023-10-29 13:56:15 +09:00
Nick Drozd 024ac542d7 bpo-45975: Simplify some while-loops with walrus operator (GH-29347) 2022-11-26 14:33:25 -08:00
Jack Hindmarch b6e59d76c0 gh-92886: Replace assertion statements in handlers.BaseHandler to support running with optimizations (-O) (GH-93231) 2022-10-19 11:38:59 +01:00
Serhiy Storchaka db39050396 gh-96959: Update HTTP links which are redirected to HTTPS (GH-96961) 2022-09-24 14:38:53 +03:00
Shantanu b4378948a0 gh-95105: Return Iterator from wsgiref.types.InputStream.__iter__ (#95106) 2022-07-21 13:26:04 -07:00
Sebastian Rittau 25af5ea40f gh-86178: wsgiref.types: Add missing TypeAlias annotations (GH-91608) 2022-04-16 13:37:02 -07:00
Sebastian Rittau 0ddc63b240 gh-86178: Add wsgiref.types (GH-32335) 2022-04-16 10:37:58 -07:00
Oleg Iarygin a03a09e068 Replace with_traceback() with exception chaining and reraising (GH-32074) 2022-03-30 15:28:20 +03:00
Christian Clauss 745c9d9dfc Fix typos in the Lib directory (GH-28775)
Fix typos in the Lib directory as identified by codespell.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2021-10-06 16:13:48 -07:00
Hugo van Kemenade d003a5bd25 bpo-45132 Remove deprecated __getitem__ methods (GH-28225)
Remove deprecated __getitem__ methods of xml.dom.pulldom.DOMEventStream,
wsgiref.util.FileWrapper and fileinput.FileInput, deprecated since Python 3.9.
2021-09-08 13:07:40 +03:00
Berker Peksag 14738ff83d bpo-8138: Initialize wsgiref's SimpleServer as single-threaded (GH-12977) 2019-05-24 20:24:42 +03:00
Berker Peksag 7c59362a15 bpo-29183: Fix double exceptions in wsgiref.handlers.BaseHandler (GH-12914) 2019-05-19 18:56:15 +03:00
Petter Strandmark 3d37ea25dc bpo-27682: Handle client connection terminations in wsgiref (GH-9713) 2019-05-01 20:32:15 +03:00
Cheryl Sabella f8716c88f1 bpo-18610: Update wsgiref.validate docstring for wsgi.input read() (GH-11663) 2019-04-13 08:01:15 -04:00
Cheryl Sabella 5ef4fc241a bpo-35565: Add detail to assertion failure message in wsgiref (GH-11293) 2018-12-25 15:19:11 -08:00
Cheryl Sabella 6815155384 bpo-35567: Convert dict of constants to a set (GH-11296) 2018-12-23 08:25:43 -08:00
Berker Peksag 84a13fbda0 bpo-9372: Deprecate several __getitem__ methods (GH-8609)
The __getitem__ methods of DOMEventStream, FileInput,
and FileWrapper classes ignore their 'index' parameters
and return the next item instead.
2018-08-11 09:05:04 +03:00
Alex Gaynor f0f62cc61e Remove tiny bit of deadcode from wsgiref.validate (#3996) 2017-10-31 00:07:36 -04:00
Martin Panter 34eeed4290 Issue #26721: Change StreamRequestHandler.wfile to BufferedIOBase 2016-06-29 10:12:22 +00:00
Martin Panter ff5cd4576f Issue #24291: Merge wsgi partial write fix from 3.5 2016-06-05 06:56:51 +00:00
Martin Panter ed0425c60a Issue #24291: Avoid WSGIRequestHandler doing partial writes
If the underlying send() method indicates a partial write, such as when the
call is interrupted to handle a signal, the server would silently drop the
remaining data.

Also add deprecated support for SimpleHandler.stdout.write() doing partial
writes.
2016-06-05 06:28:55 +00:00
Martin Panter 3e04d5b306 Issue #27076: Merge spelling from 3.5 2016-05-26 06:03:19 +00:00
Martin Panter 46f50726a0 Issue #27076: Doc, comment and tests spelling fixes
Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
2016-05-26 05:35:26 +00:00
Martin Panter d77133b4ce Issue #26717: Merge wsgiref fix from 3.5 2016-04-17 02:36:50 +00:00
Martin Panter 50dd1f7dd6 Issue #26717: Stop encoding Latin-1-ized WSGI paths with UTF-8
Patch by Anthony Sottile.
2016-04-17 02:17:03 +00:00
Martin Panter 0cab9c1eba Issue #26404: Add context manager to socketserver, by Aviv Palivoda 2016-04-13 00:36:52 +00:00
Berker Peksag 1cd4ff6284 Issue #26560: Avoid potential ValueError in BaseHandler.start_response
Initial patch by Peter Inglesby.
2016-03-19 09:04:59 +02:00
Robert Collins f66f4208b7 Issue #17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella. 2015-07-27 10:42:54 +12:00
Robert Collins ddc7440b0e Issue #17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella. 2015-07-27 10:42:01 +12:00
Senthil Kumaran dc41440401 Merge from 3.4
Issue #22419: Limit the length of incoming HTTP request in wsgiref server to 65536 bytes.
2014-09-17 16:32:46 +08:00
Senthil Kumaran 86c9e1877c Merge from 3.3
Issue #22419: Limit the length of incoming HTTP request in wsgiref server to 65536 bytes.
2014-09-17 16:31:47 +08:00
Senthil Kumaran e025b52db0 Issue #22419: Limit the length of incoming HTTP request in wsgiref server to 65536 bytes. 2014-09-17 16:29:29 +08:00
Serhiy Storchaka 465e60e654 Issue #22033: Reprs of most Python implemened classes now contain actual
class name instead of hardcoded one.
2014-07-25 23:36:00 +03:00
Berker Peksag 3e887222aa Issue #5800: headers parameter of wsgiref.headers.Headers is now optional.
Patch by Pablo Torres Navarrete and SilentGhost.
2014-07-02 08:37:22 +03:00
Eli Bendersky a09daef09e Update docstring to mention correct PEP number.
This file hasn't been touched since its initial commit in 2006. In CPython
default branch (3.4), the relevant PEP number is 3333.
2014-01-26 14:59:30 -08:00
Serhiy Storchaka 0abbe8c090 Issue #20138: The wsgiref.application_uri() and wsgiref.request_uri()
functions now conform to PEP 3333 when handle non-ASCII URLs.
2014-01-12 12:08:11 +02:00
Georg Brandl d98d6cb451 Closes #19258: close WSGI server after handling request in demo code. 2013-10-14 16:52:13 +02:00
Andrew Svetlov 5b89840d9c Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:26:36 +02:00
Andrew Svetlov 737fb89dd1 Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:14:22 +02:00
Antoine Pitrou 550841253f Issue #16220: wsgiref now always calls close() on an iterable response.
Patch by Brent Tubbs.
2012-10-21 14:14:34 +02:00
Antoine Pitrou ae247a5ff6 Issue #16220: wsgiref now always calls close() on an iterable response.
Patch by Brent Tubbs.
2012-10-21 14:09:05 +02:00
Senthil Kumaran a5e0eaf2e1 Fix 5931 - Python runtime hardcoded in wsgiref.simple_server - Now it specifies an implementation specific term. 2012-07-07 14:29:58 -07:00