##// END OF EJS Templates
Debug off. for production
Debug off. for production

File last commit:

r49:3ada2f40 default
r85:4bb06ccb default
Show More
middleware.py
70 lines | 2.5 KiB | text/x-python | PythonLexer
Marcin Kuzminski
initial commit.
r0 """Pylons middleware initialization"""
changed for pylons 0.1 / 1.0...
r43 from beaker.middleware import SessionMiddleware
Marcin Kuzminski
initial commit.
r0 from paste.cascade import Cascade
from paste.registry import RegistryManager
from paste.urlparser import StaticURLParser
from paste.deploy.converters import asbool
from pylons.middleware import ErrorHandler, StatusCodeRedirect
from pylons.wsgiapp import PylonsApp
from routes.middleware import RoutesMiddleware
Marcin Kuzminski
Added app basic auth....
r41 from paste.auth.basic import AuthBasicHandler
Marcin Kuzminski
initial commit.
r0 from pylons_app.config.environment import load_environment
Marcin Kuzminski
Added app basic auth....
r41 from pylons_app.lib.auth import authfunc
Marcin Kuzminski
Added pylons manage script...
r12
changed for pylons 0.1 / 1.0...
r43 def make_app(global_conf, full_stack=True, static_files=True, **app_conf):
Marcin Kuzminski
initial commit.
r0 """Create a Pylons WSGI application and return it
``global_conf``
The inherited configuration for this application. Normally from
the [DEFAULT] section of the Paste ini file.
``full_stack``
Marcin Kuzminski
Added pylons manage script...
r12 Whether or not this application provides a full WSGI stack (by
default, meaning it handles its own exceptions and errors).
Disable full_stack when this application is "managed" by
another WSGI middleware.
Marcin Kuzminski
initial commit.
r0
``app_conf``
The application's local configuration. Normally specified in
the [app:<name>] section of the Paste ini file (where <name>
defaults to main).
"""
# Configure the Pylons environment
changed for pylons 0.1 / 1.0...
r43 config = load_environment(global_conf, app_conf)
Marcin Kuzminski
initial commit.
r0
# The Pylons WSGI app
changed for pylons 0.1 / 1.0...
r43 app = PylonsApp(config=config)
Marcin Kuzminski
initial commit.
r0
Marcin Kuzminski
Added pylons manage script...
r12 # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares)
Marcin Kuzminski
initial commit.
r0 # Routing/Session/Cache Middleware
app = RoutesMiddleware(app, config['routes.map'])
Marcin Kuzminski
Wrapped into mako templates,...
r21 app = SessionMiddleware(app, config)
Marcin Kuzminski
Added app basic auth....
r41 app = AuthBasicHandler(app, config['repos_name'] + ' mercurial repository', authfunc)
Marcin Kuzminski
initial commit.
r0 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']):
Marcin Kuzminski
change error controller,...
r14 #don't handle 404, since mercurial does it for us.
Marcin Kuzminski
Added sqlalchemy support...
r49 app = StatusCodeRedirect(app, [400, 401, 403])
Marcin Kuzminski
initial commit.
r0 else:
Marcin Kuzminski
change error controller,...
r14 app = StatusCodeRedirect(app, [400, 401, 403, 500])
Marcin Kuzminski
Added app basic auth....
r41
Marcin Kuzminski
initial commit.
r0 # Establish the Registry for this application
app = RegistryManager(app)
changed for pylons 0.1 / 1.0...
r43 if asbool(static_files):
# Serve static files
static_app = StaticURLParser(config['pylons.paths']['static_files'])
app = Cascade([static_app, app])
app.config = config
Marcin Kuzminski
Added pylons manage script...
r12 return app
Marcin Kuzminski
initial commit.
r0