summaryrefslogtreecommitdiff
path: root/paste/wsgiwrappers.py
diff options
context:
space:
mode:
authorbbangert <devnull@localhost>2006-09-11 03:58:41 +0000
committerbbangert <devnull@localhost>2006-09-11 03:58:41 +0000
commitf2d7c1d593393e9e9fdfddfe94d3162839e49337 (patch)
treee9162d0473d1e25f26612c319ad9a8721178d5f5 /paste/wsgiwrappers.py
parent5131b9274d48704f7058a1facd141f933120124a (diff)
downloadpaste-f2d7c1d593393e9e9fdfddfe94d3162839e49337.tar.gz
Added file handling capability to WSGIResponse's __call__ method, self.content can be a file obj when using __call__ interface.
Diffstat (limited to 'paste/wsgiwrappers.py')
-rw-r--r--paste/wsgiwrappers.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/paste/wsgiwrappers.py b/paste/wsgiwrappers.py
index 33e01ca..1240111 100644
--- a/paste/wsgiwrappers.py
+++ b/paste/wsgiwrappers.py
@@ -187,6 +187,11 @@ class WSGIResponse(object):
for c in self.cookies.values():
response_headers.append(('Set-Cookie', c.output(header='')))
start_response(status, response_headers)
+ is_file = isinstance(self.content, file)
+ if 'wsgi.file_wrapper' in environ and is_file:
+ return environ['wsgi.file_wrapper'](self.content)
+ elif is_file:
+ return iter(lambda: self.content.read(), '')
return self.get_content_as_string()
def determine_encoding(self):