X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;ds=sidebyside;f=bluechips%2Fconfig%2Fmiddleware.py;h=a5fdaaf1b93d6c358e81ad3992860fd0bd216842;hb=7f646c692e3cd2c6d8c01eed8252ee9374082277;hp=33d06a918d460c5168e477c60efb12dfbd35b8ad;hpb=74d234f880ee6b3c510227ea94459b81a79755db;p=bluechips.git diff --git a/bluechips/config/middleware.py b/bluechips/config/middleware.py index 33d06a9..a5fdaaf 100644 --- a/bluechips/config/middleware.py +++ b/bluechips/config/middleware.py @@ -3,19 +3,19 @@ from beaker.middleware import CacheMiddleware, SessionMiddleware from paste.cascade import Cascade from paste.registry import RegistryManager from paste.urlparser import StaticURLParser +from paste.auth.basic import AuthBasicHandler from paste.deploy.converters import asbool from pylons import config 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 +from bluechips.lib.permissions import (BlueChipUser, DummyAuthenticate, + authenticate) def make_app(global_conf, full_stack=True, **app_conf): """Create a Pylons WSGI application and return it @@ -43,30 +43,22 @@ def make_app(global_conf, full_stack=True, **app_conf): # 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']) # Display error documents for 401, 403, 404 status codes (and # 500 when debug is disabled) - if asbool(config['debug']): - app = StatusCodeRedirect(app) - else: - app = StatusCodeRedirect(app, [400, 401, 403, 404, 500]) + status_codes = [400, 401, 403, 404] + if not asbool(config.get('debug')): + status_codes.append(500) + app = StatusCodeRedirect(app, status_codes) # Establish the Registry for this application app = RegistryManager(app) @@ -75,4 +67,6 @@ def make_app(global_conf, full_stack=True, **app_conf): # server is handling this static content, remove the following 3 lines) static_app = StaticURLParser(config['pylons.paths']['static_files']) app = Cascade([static_app, app]) + app = AuthBasicHandler(app, 'BlueChips', authenticate) + app = DummyAuthenticate(app, app_conf) return app