##// END OF EJS Templates
mercurial middleware now returns 500's instead of 404 on errors and 404 when repo not found, added tracebacks
mercurial middleware now returns 500's instead of 404 on errors and 404 when repo not found, added tracebacks

File last commit:

r309:7e4771a0 default
r334:6c23e724 default
Show More
middleware.py
73 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
Created middleware package. Crated special middleware to handle https requests redirections.
r204 from pylons_app.lib.middleware.simplehg import SimpleHg
from pylons_app.lib.middleware.https_fixup import HttpsFixup
Marcin Kuzminski
initial commit.
r0 from pylons_app.config.environment import load_environment
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)
statics moved to pylons.
r101
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)
statics moved to pylons.
r101
Created middleware package. Crated special middleware to handle https requests redirections.
r204 # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares)
#set the https based on HTTP_X_URL_SCHEME
bumped version to 0.7.1 added atom and rss feeds. Moved https Fixud middleware before error middleware to proper generate debug page (static imports)
r207
statics moved to pylons.
r101 app = SimpleHg(app, config)
Marcin Kuzminski
Added app basic auth....
r41
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
Added few options to configs,...
r86 app = StatusCodeRedirect(app)
Marcin Kuzminski
initial commit.
r0 else:
Marcin Kuzminski
Added few options to configs,...
r86 app = StatusCodeRedirect(app, [400, 401, 403, 404, 500])
Marcin Kuzminski
Added app basic auth....
r41
Cleaned the way based was used to generate submenu for admin, now it's much more clear to use submenu. Cleaned admin and added comment to middleware
r216 #enable https redirets based on HTTP_X_URL_SCHEME set by proxy
bumped version to 0.7.1 added atom and rss feeds. Moved https Fixud middleware before error middleware to proper generate debug page (static imports)
r207 app = HttpsFixup(app)
Cleaned the way based was used to generate submenu for admin, now it's much more clear to use submenu. Cleaned admin and added comment to middleware
r216
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])
fixed bug in middleware config
r269 app.config = config
changed for pylons 0.1 / 1.0...
r43
Marcin Kuzminski
Added pylons manage script...
r12 return app
Marcin Kuzminski
initial commit.
r0