Change the ordering of the app's __call__ method (attach things to request first)
This will make it easier for us to call something like a 404 page rendering method before the matching check is done.
This commit is contained in:
parent
0161aa920d
commit
3d0557bf25
@ -101,6 +101,23 @@ class MediaGoblinApp(object):
|
|||||||
## Routing / controller loading stuff
|
## Routing / controller loading stuff
|
||||||
route_match = self.routing.match(path_info)
|
route_match = self.routing.match(path_info)
|
||||||
|
|
||||||
|
## Attach utilities to the request object
|
||||||
|
request.matchdict = route_match
|
||||||
|
request.urlgen = routes.URLGenerator(self.routing, environ)
|
||||||
|
# Do we really want to load this via middleware? Maybe?
|
||||||
|
request.session = request.environ['beaker.session']
|
||||||
|
# Attach self as request.app
|
||||||
|
# Also attach a few utilities from request.app for convenience?
|
||||||
|
request.app = self
|
||||||
|
request.locale = util.get_locale_from_request(request)
|
||||||
|
|
||||||
|
request.template_env = util.get_jinja_env(
|
||||||
|
self.template_loader, request.locale)
|
||||||
|
request.db = self.db
|
||||||
|
request.staticdirect = self.staticdirector
|
||||||
|
|
||||||
|
util.setup_user_in_request(request)
|
||||||
|
|
||||||
# No matching page?
|
# No matching page?
|
||||||
if route_match is None:
|
if route_match is None:
|
||||||
# Try to do see if we have a match with a trailing slash
|
# Try to do see if we have a match with a trailing slash
|
||||||
@ -121,23 +138,6 @@ class MediaGoblinApp(object):
|
|||||||
controller = util.import_component(route_match['controller'])
|
controller = util.import_component(route_match['controller'])
|
||||||
request.start_response = start_response
|
request.start_response = start_response
|
||||||
|
|
||||||
## Attach utilities to the request object
|
|
||||||
request.matchdict = route_match
|
|
||||||
request.urlgen = routes.URLGenerator(self.routing, environ)
|
|
||||||
# Do we really want to load this via middleware? Maybe?
|
|
||||||
request.session = request.environ['beaker.session']
|
|
||||||
# Attach self as request.app
|
|
||||||
# Also attach a few utilities from request.app for convenience?
|
|
||||||
request.app = self
|
|
||||||
request.locale = util.get_locale_from_request(request)
|
|
||||||
|
|
||||||
request.template_env = util.get_jinja_env(
|
|
||||||
self.template_loader, request.locale)
|
|
||||||
request.db = self.db
|
|
||||||
request.staticdirect = self.staticdirector
|
|
||||||
|
|
||||||
util.setup_user_in_request(request)
|
|
||||||
|
|
||||||
return controller(request)(environ, start_response)
|
return controller(request)(environ, start_response)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user