summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpje <pje@571e12c6-e1fa-0310-aee7-ff1267fa46bd>2012-10-21 16:28:19 +0000
committerpje <pje@571e12c6-e1fa-0310-aee7-ff1267fa46bd>2012-10-21 16:28:19 +0000
commitb24196886e77a71f17afef164f3644bce06c5382 (patch)
tree115a5d92d1a5ad033d6d8162a23feb3c91608a9c
parent4859aa8b11064e06e10d9631eeac76851c6e97bd (diff)
downloadwsgiref-b24196886e77a71f17afef164f3644bce06c5382.tar.gz
Fix for <http://bugs.python.org/issue16220> - ensure close()HEADmaster
git-svn-id: svn://svn.eby-sarna.com/svnroot/wsgiref@2714 571e12c6-e1fa-0310-aee7-ff1267fa46bd
-rw-r--r--wsgiref/handlers.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/wsgiref/handlers.py b/wsgiref/handlers.py
index b40fd24..a13ac82 100644
--- a/wsgiref/handlers.py
+++ b/wsgiref/handlers.py
@@ -129,18 +129,18 @@ class BaseHandler:
in the event loop to iterate over the data, and to call
'self.close()' once the response is finished.
"""
- if not self.result_is_file() or not self.sendfile():
- for data in self.result:
- self.write(data)
- self.finish_content()
- self.close()
-
+ try:
+ if not self.result_is_file() or not self.sendfile():
+ for data in self.result:
+ self.write(data)
+ self.finish_content()
+ finally:
+ self.close()
def get_scheme(self):
"""Return the URL scheme being used"""
return guess_scheme(self.environ)
-
def set_content_length(self):
"""Compute Content-Length or switch to chunked encoding if possible"""
try:
@@ -153,7 +153,6 @@ class BaseHandler:
return
# XXX Try for chunked encoding if origin server and client is 1.1
-
def cleanup_headers(self):
"""Make any necessary header changes or defaults
@@ -162,6 +161,7 @@ class BaseHandler:
if not self.headers.has_key('Content-Length'):
self.set_content_length()
+
def start_response(self, status, headers,exc_info=None):
"""'start_response()' callable as specified by PEP 333"""