From c8cf2256655ee4b34ec501325b9016608b5cce5f Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Thu, 15 Jan 2009 00:20:04 +0000 Subject: - Instead of invariably using ``webob.Request`` as the "request factory" (e.g. in the ``Router`` class) and ``webob.Response`` and the "response factory" (e.g. in ``render_template_to_response``), allow both to be overridden via a ZCML utility hook. See the "Using ZCML Hooks" chapter of the documentation for more information. --- repoze/bfg/router.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'repoze/bfg/router.py') diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py index 8e1b998d8..755434870 100644 --- a/repoze/bfg/router.py +++ b/repoze/bfg/router.py @@ -21,6 +21,7 @@ from repoze.bfg.events import WSGIApplicationCreatedEvent from repoze.bfg.interfaces import ILogger from repoze.bfg.interfaces import ITraverserFactory from repoze.bfg.interfaces import IRequest +from repoze.bfg.interfaces import IRequestFactory from repoze.bfg.interfaces import HTTP_METHOD_INTERFACES from repoze.bfg.interfaces import IRouter @@ -45,6 +46,11 @@ class Router(object): def __init__(self, registry): self.registry = registry + @property + def root_policy(self): + """ Backwards compatibility alias """ + return self.registry.getUtility(IRootFactory) + def __call__(self, environ, start_response): """ Accept ``environ`` and ``start_response``; route requests to @@ -54,7 +60,8 @@ class Router(object): registry_manager.push(self.registry) try: - request = Request(environ) + request_factory = queryUtility(IRequestFactory, default=Request) + request = request_factory(environ) directlyProvides(request, IRequest) also = HTTP_METHOD_INTERFACES.get(request.method) -- cgit v1.2.3