X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=bluechips%2Fconfig%2Fmiddleware.py;h=33d06a918d460c5168e477c60efb12dfbd35b8ad;hb=1e4dfac7ed0c6a2c8d23f82d2ca071a27401abcf;hp=4f9801cb6a14a6893154bedc77963e913ddbc36c;hpb=f8814994349f84b9636c22e75c75e02511a8eb36;p=bluechips.git diff --git a/bluechips/config/middleware.py b/bluechips/config/middleware.py index 4f9801c..33d06a9 100644 --- a/bluechips/config/middleware.py +++ b/bluechips/config/middleware.py @@ -5,13 +5,18 @@ from paste.registry import RegistryManager from paste.urlparser import StaticURLParser from paste.deploy.converters import asbool from pylons import config -from pylons.middleware import ErrorHandler, StaticJavascripts, \ - StatusCodeRedirect +from pylons.middleware import ErrorHandler, StatusCodeRedirect from pylons.wsgiapp import PylonsApp from routes.middleware import RoutesMiddleware +from paste import httpexceptions + +from tw.api import make_middleware +import authkit.authorize from bluechips.config.environment import load_environment +from bluechips.lib.permissions import BlueChipUser, DummyAuthenticate + def make_app(global_conf, full_stack=True, **app_conf): """Create a Pylons WSGI application and return it @@ -37,12 +42,21 @@ def make_app(global_conf, full_stack=True, **app_conf): app = PylonsApp() # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares) + app = authkit.authorize.middleware(app, BlueChipUser()) + app = DummyAuthenticate(app, app_conf) + app = httpexceptions.make_middleware(app, global_conf) # Routing/Session/Cache Middleware app = RoutesMiddleware(app, config['routes.map']) app = SessionMiddleware(app, config) app = CacheMiddleware(app, config) + app = make_middleware(app, { + 'toscawidgets.framework': 'pylons', + 'toscawidgets.framework.default_view': 'mako', + 'toscawidgets.middleware.inject_resources': True + }) + if asbool(full_stack): # Handle Python exceptions app = ErrorHandler(app, global_conf, **config['pylons.errorware']) @@ -59,7 +73,6 @@ def make_app(global_conf, full_stack=True, **app_conf): # Static files (If running in production, and Apache or another web # server is handling this static content, remove the following 3 lines) - javascripts_app = StaticJavascripts() static_app = StaticURLParser(config['pylons.paths']['static_files']) - app = Cascade([static_app, javascripts_app, app]) + app = Cascade([static_app, app]) return app