diff options
author | Kristian Kvilekval <kris@cs.ucsb.edu> | 2012-10-12 11:12:26 -0700 |
---|---|---|
committer | Kristian Kvilekval <kris@cs.ucsb.edu> | 2012-10-12 11:12:26 -0700 |
commit | 726b516ce4a590f194cf8cacbbc4997ab535c234 (patch) | |
tree | 6447cfe32b48e00b340b5741cb976f92d1e0602d /paste/registry.py | |
parent | 3daf4caa841fb8446f8c17b58e6e62334438743f (diff) | |
download | paste-726b516ce4a590f194cf8cacbbc4997ab535c234.tar.gz |
Don't penalize streaming applications
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 |