summaryrefslogtreecommitdiff
path: root/paste
diff options
context:
space:
mode:
authorianb <devnull@localhost>2005-05-21 22:05:44 +0000
committerianb <devnull@localhost>2005-05-21 22:05:44 +0000
commitf739c94f1af2b50694a0d3c38ef36d4e3b8d1b97 (patch)
treea710370ec7b96e6ae2e6932ee9e2d37ade1c0d94 /paste
parent763e5065ad908cba7482f0c5241eead32bb5111c (diff)
downloadpaste-f739c94f1af2b50694a0d3c38ef36d4e3b8d1b97.tar.gz
Turned config middleware function into a class
Diffstat (limited to 'paste')
-rw-r--r--paste/configmiddleware.py14
-rw-r--r--paste/frameworks/default_framework.py2
-rw-r--r--paste/makeapp.py2
3 files changed, 11 insertions, 7 deletions
diff --git a/paste/configmiddleware.py b/paste/configmiddleware.py
index 6c64d6c..a08ee0d 100644
--- a/paste/configmiddleware.py
+++ b/paste/configmiddleware.py
@@ -1,14 +1,18 @@
from paste import CONFIG
from paste import wsgilib
-def config_middleware(app, config):
+class ConfigMiddleware(object):
- def replacement_app(environ, start_response):
- conf = environ['paste.config'] = config.copy()
+ def __init__(self, application, config):
+ self.application = application
+ self.config = config
+
+ def __call__(self, environ, start_response):
+ conf = environ['paste.config'] = self.config.copy()
app_iter = None
CONFIG.push_thread_config(conf)
try:
- app_iter = app(environ, start_response)
+ app_iter = self.application(environ, start_response)
finally:
if app_iter is None:
# An error occurred...
@@ -24,5 +28,3 @@ def config_middleware(app, config):
CONFIG.pop_thread_config(conf)
new_app_iter = wsgilib.add_close(app_iter, close_config)
return new_app_iter
-
- return replacement_app
diff --git a/paste/frameworks/default_framework.py b/paste/frameworks/default_framework.py
index 919b49c..1819791 100644
--- a/paste/frameworks/default_framework.py
+++ b/paste/frameworks/default_framework.py
@@ -1,3 +1,5 @@
+import sys
+
def build_application(conf):
if conf.get('publish_dir'):
from paste.webkit import conf_setup
diff --git a/paste/makeapp.py b/paste/makeapp.py
index 34d1e1c..fddc254 100644
--- a/paste/makeapp.py
+++ b/paste/makeapp.py
@@ -33,5 +33,5 @@ def apply_default_middleware(app, conf):
app = errormiddleware.ErrorMiddleware(app)
if conf.get('lint', False):
app = lint.middleware(app)
- app = configmiddleware.config_middleware(app, conf)
+ app = configmiddleware.ConfigMiddleware(app, conf)
return app