Commit 80249cae authored by Antoine Pitrou's avatar Antoine Pitrou

Merged revisions 87797 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87797 | antoine.pitrou | 2011-01-06 18:17:04 +0100 (jeu., 06 janv. 2011) | 4 lines

  Issue #3839: wsgiref should not override a Content-Length header set by
  the application.  Initial patch by Clovis Fabricio.
........
parent bfbaf294
...@@ -481,6 +481,11 @@ class HandlerTests(TestCase): ...@@ -481,6 +481,11 @@ class HandlerTests(TestCase):
s('200 OK',[])(e['wsgi.url_scheme']) s('200 OK',[])(e['wsgi.url_scheme'])
return [] return []
def trivial_app4(e,s):
# Simulate a response to a HEAD request
s('200 OK',[('Content-Length', '12345')])
return []
h = TestHandler() h = TestHandler()
h.run(trivial_app1) h.run(trivial_app1)
self.assertEqual(h.stdout.getvalue(), self.assertEqual(h.stdout.getvalue(),
...@@ -497,10 +502,12 @@ class HandlerTests(TestCase): ...@@ -497,10 +502,12 @@ class HandlerTests(TestCase):
"http") "http")
h = TestHandler()
h.run(trivial_app4)
self.assertEqual(h.stdout.getvalue(),
b'Status: 200 OK\r\n'
b'Content-Length: 12345\r\n'
b'\r\n')
def testBasicErrorOutput(self): def testBasicErrorOutput(self):
......
...@@ -240,7 +240,9 @@ class BaseHandler: ...@@ -240,7 +240,9 @@ class BaseHandler:
def finish_content(self): def finish_content(self):
"""Ensure headers and content have both been sent""" """Ensure headers and content have both been sent"""
if not self.headers_sent: if not self.headers_sent:
self.headers['Content-Length'] = "0" # Only zero Content-Length if not set by the application (so
# that HEAD requests can be satisfied properly, see #3839)
self.headers.setdefault('Content-Length', "0")
self.send_headers() self.send_headers()
else: else:
pass # XXX check if content-length was too short? pass # XXX check if content-length was too short?
......
...@@ -242,6 +242,7 @@ Paul Everitt ...@@ -242,6 +242,7 @@ Paul Everitt
David Everly David Everly
Greg Ewing Greg Ewing
Martijn Faassen Martijn Faassen
Clovis Fabricio
Andreas Faerber Andreas Faerber
Bill Fancher Bill Fancher
Troy J. Farrell Troy J. Farrell
......
...@@ -25,6 +25,9 @@ Core and Builtins ...@@ -25,6 +25,9 @@ Core and Builtins
Library Library
------- -------
- Issue #3839: wsgiref should not override a Content-Length header set by
the application. Initial patch by Clovis Fabricio.
- Issue #10806, issue #9905: Fix subprocess pipes when some of the standard - Issue #10806, issue #9905: Fix subprocess pipes when some of the standard
file descriptors (0, 1, 2) are closed in the parent process. Initial file descriptors (0, 1, 2) are closed in the parent process. Initial
patch by Ross Lagerwall. patch by Ross Lagerwall.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment