diff options
Diffstat (limited to 'paste/registry.py')
-rw-r--r-- | paste/registry.py | 15 |
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 |