summaryrefslogtreecommitdiff
path: root/paste/registry.py
diff options
context:
space:
mode:
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