##// END OF EJS Templates
fixed archive names, added setup command to contributing docs.
fixed archive names, added setup command to contributing docs.

File last commit:

r1209:45fed9a4 default
r1237:f7bb54f8 default
Show More
middleware.py
79 lines | 2.6 KiB | text/x-python | PythonLexer
renamed project to rhodecode
r547 """Pylons middleware initialization"""
rhodecode release 1.1.3 changes
r1057
renamed project to rhodecode
r547 from beaker.middleware import SessionMiddleware
rhodecode release 1.1.3 changes
r1057 from routes.middleware import RoutesMiddleware
renamed project to rhodecode
r547 from paste.cascade import Cascade
from paste.registry import RegistryManager
from paste.urlparser import StaticURLParser
from paste.deploy.converters import asbool
rhodecode release 1.1.3 changes
r1057 from paste.gzipper import make_gzip_middleware
renamed project to rhodecode
r547 from pylons.middleware import ErrorHandler, StatusCodeRedirect
from pylons.wsgiapp import PylonsApp
rhodecode release 1.1.3 changes
r1057
renamed project to rhodecode
r547 from rhodecode.lib.middleware.simplehg import SimpleHg
Fixed age, for new vcs implementation. Removed all obsolete date formatters...
r635 from rhodecode.lib.middleware.simplegit import SimpleGit
renamed project to rhodecode
r547 from rhodecode.lib.middleware.https_fixup import HttpsFixup
from rhodecode.config.environment import load_environment
merges for upcoming release
r1209
renamed project to rhodecode
r547 def make_app(global_conf, full_stack=True, static_files=True, **app_conf):
"""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``
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.
``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
config = load_environment(global_conf, app_conf)
# The Pylons WSGI app
app = PylonsApp(config=config)
Fixed age, for new vcs implementation. Removed all obsolete date formatters...
r635
renamed project to rhodecode
r547 # Routing/Session/Cache Middleware
app = RoutesMiddleware(app, config['routes.map'])
app = SessionMiddleware(app, config)
Fixed age, for new vcs implementation. Removed all obsolete date formatters...
r635
renamed project to rhodecode
r547 # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares)
Fixed age, for new vcs implementation. Removed all obsolete date formatters...
r635
renamed project to rhodecode
r547 app = SimpleHg(app, config)
Fixed age, for new vcs implementation. Removed all obsolete date formatters...
r635 app = SimpleGit(app, config)
renamed project to rhodecode
r547 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])
Fixed age, for new vcs implementation. Removed all obsolete date formatters...
r635
renamed project to rhodecode
r547 #enable https redirets based on HTTP_X_URL_SCHEME set by proxy
fixed middleware for new https fixup
r923 app = HttpsFixup(app, config)
Fixed age, for new vcs implementation. Removed all obsolete date formatters...
r635
renamed project to rhodecode
r547 # Establish the Registry for this application
app = RegistryManager(app)
if asbool(static_files):
# Serve static files
static_app = StaticURLParser(config['pylons.paths']['static_files'])
app = Cascade([static_app, app])
added gzip middleware
r702 app = make_gzip_middleware(app, global_conf, compress_level=1)
Fixed age, for new vcs implementation. Removed all obsolete date formatters...
r635
renamed project to rhodecode
r547 app.config = config
return app