summaryrefslogtreecommitdiff
path: root/paste/registry.py
diff options
context:
space:
mode:
authorKristian Kvilekval <kris@cs.ucsb.edu>2012-10-12 11:12:26 -0700
committerKristian Kvilekval <kris@cs.ucsb.edu>2012-10-12 11:12:26 -0700
commit726b516ce4a590f194cf8cacbbc4997ab535c234 (patch)
tree6447cfe32b48e00b340b5741cb976f92d1e0602d /paste/registry.py
parent3daf4caa841fb8446f8c17b58e6e62334438743f (diff)
downloadpaste-726b516ce4a590f194cf8cacbbc4997ab535c234.tar.gz
Don't penalize streaming applications
Diffstat (limited to 'paste/registry.py')
-rw-r--r--paste/registry.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/paste/registry.py b/paste/registry.py
index ef6516c..ff47c19 100644
--- a/paste/registry.py
+++ b/paste/registry.py
@@ -372,11 +372,18 @@ class RegistryManager(object):
app_iter = None
reg = environ.setdefault('paste.registry', Registry())
reg.prepare()
- if self.streaming:
- return self.streaming_iter(reg, environ, start_response)
+ #if self.streaming:
+ # return self.streaming_iter(reg, environ, start_response)
try:
app_iter = self.application(environ, start_response)
+ #print "REG ", type(app_iter)
+ if isinstance(app_iter, (list, tuple)):
+ #print "DIRECT"
+ return app_iter
+ #print "STREAMING"
+ return self.streaming_iter(app_iter, reg, environ)
+
except Exception, e:
# Regardless of if the content is an iterable, generator, list
# or tuple, we clean-up right now. If its an iterable/generator
@@ -404,9 +411,9 @@ class RegistryManager(object):
return app_iter
- def streaming_iter(self, reg, environ, start_response):
+ def streaming_iter(self, app_iter, reg, environ):
try:
- for item in self.application(environ, start_response):
+ for item in app_iter:
yield item
except Exception, e:
# Regardless of if the content is an iterable, generator, list