From b24196886e77a71f17afef164f3644bce06c5382 Mon Sep 17 00:00:00 2001 From: pje Date: Sun, 21 Oct 2012 16:28:19 +0000 Subject: Fix for - ensure close() git-svn-id: svn://svn.eby-sarna.com/svnroot/wsgiref@2714 571e12c6-e1fa-0310-aee7-ff1267fa46bd --- wsgiref/handlers.py | 16 ++++++++-------- 1 file 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""" -- cgit v1.2.1