diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-05-25 01:37:25 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-05-25 01:37:25 +0000 |
| commit | 7d1da854e77b56ab6e50f0b8a3e0e61d8ebfb7a7 (patch) | |
| tree | c90afb9a21697481fd272555fd9c60da31ffd72b /repoze/bfg/router.py | |
| parent | 267f2db66f514db43d0801237213799cd6797ee4 (diff) | |
| download | pyramid-7d1da854e77b56ab6e50f0b8a3e0e61d8ebfb7a7.tar.gz pyramid-7d1da854e77b56ab6e50f0b8a3e0e61d8ebfb7a7.tar.bz2 pyramid-7d1da854e77b56ab6e50f0b8a3e0e61d8ebfb7a7.zip | |
IForbiddenAppFactory -> IForbiddenResponseFactory.
Diffstat (limited to 'repoze/bfg/router.py')
| -rw-r--r-- | repoze/bfg/router.py | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py index 2af5df4c7..fdd5495fe 100644 --- a/repoze/bfg/router.py +++ b/repoze/bfg/router.py @@ -17,7 +17,7 @@ from repoze.bfg.interfaces import IRouter from repoze.bfg.interfaces import IRoutesMapper from repoze.bfg.interfaces import ISecurityPolicy from repoze.bfg.interfaces import ISettings -from repoze.bfg.interfaces import IForbiddenAppFactory +from repoze.bfg.interfaces import IForbiddenResponseFactory from repoze.bfg.interfaces import IUnauthorizedAppFactory from repoze.bfg.interfaces import IView from repoze.bfg.interfaces import IViewPermission @@ -66,18 +66,21 @@ class Router(object): 'Instead of registering a utility against the ' 'repoze.bfg.interfaces.IUnauthorizedAppFactory interface ' 'to return a custom forbidden response, you should now ' - 'register a "repoze.interfaces.IForbiddenAppFactory". ' + 'register a "repoze.interfaces.IForbiddenResponseFactory". ' 'The IUnauthorizedAppFactory interface was deprecated in ' 'repoze.bfg 0.8.2 and will be removed in a subsequent version ' 'of repoze.bfg. See the "Hooks" chapter of the repoze.bfg ' 'documentation for more information about ' - 'IForbiddenAppFactory.') + 'IForbiddenResponseFactory.') self.logger and self.logger.warn(warning) def forbidden(context, request): - return unauthorized_app_factory() + app = unauthorized_app_factory() + response = request.get_response(app) + return response - self.forbidden_app_factory = registry.queryUtility(IForbiddenAppFactory, - default=forbidden) + self.forbidden_resp_factory = registry.queryUtility( + IForbiddenResponseFactory, + default=forbidden) if security_policy is not None: if hasattr(security_policy, 'forbidden'): @@ -93,10 +96,10 @@ class Router(object): 'security policy without a "forbidden" method.' % security_policy) self.logger and self.logger.warn(warning) - # allow a specifically-registered IForbiddenAppFactory to + # allow a specifically-registered IForbiddenResponseFactory to # override the security policy's forbidden - self.forbidden_app_factory = (self.forbidden_app_factory or - security_policy_forbidden) + self.forbidden_resp_factory = (self.forbidden_resp_factory or + security_policy_forbidden) self.security_policy = security_policy self.notfound_app_factory = registry.queryUtility(INotFoundAppFactory, @@ -193,7 +196,9 @@ class Router(object): environ['repoze.bfg.message'] = msg - return self.forbidden_app_factory()(environ, start_response) + response = self.forbidden_resp_factory(context, request) + start_response(response.status, response.headerlist) + return response.app_iter response = registry.queryMultiAdapter( (context, request), IView, name=view_name) |
