]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-43972: Set content-length to 0 for http.server.SimpleHTTPRequestHandler 301s...
authorStephen Rosen <sirosen@globus.org>
Thu, 6 May 2021 19:25:52 +0000 (15:25 -0400)
committerGitHub <noreply@github.com>
Thu, 6 May 2021 19:25:52 +0000 (12:25 -0700)
commitfb427255614fc1f740e7785554c1da8ca39116c2
tree00c72b2b79fc0a1fcd649a43e1780b5e13a78f97
parent329a47f0524e9d3f43f1e28c4f9e7c088662c030
bpo-43972: Set content-length to 0 for http.server.SimpleHTTPRequestHandler 301s (GH-25705)

* Set content-length for simple http server 301s

When http.server.SimpleHTTPRequestHandler sends a 301 (Moved
Permanently) due to a missing file, it does not set a Content-Length
of 0. Unfortunately, certain clients can be left waiting for the
connection to be closed in this circumstance, even though no body
will be sent. At time of writing, both curl and Firefox demonstrate
this behavior.

* Test Content-Length on simple http server redirect

When serving a redirect, the SimpleHTTPRequestHandler will now send
`Content-Length: 0`. Several tests for http.server already cover
various behaviors and checks including redirection. This change only
adds one check for the expected Content-Length on the simplest case
for a redirect.

* Add news entry for SimpleHTTPRequestHandler fix

* Clarify the specific kind of 301

Co-authored-by: Senthil Kumaran <skumaran@gatech.edu>
Lib/http/server.py
Lib/test/test_httpservers.py
Misc/NEWS.d/next/Library/2021-04-30-16-58-24.bpo-43972.Y2r9lg.rst [new file with mode: 0644]