diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-01-27 22:38:56 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-01-27 22:38:56 +0000 |
| commit | 65f3f8ea3964706002da64b6751d6302f426c3da (patch) | |
| tree | 88719df106b01a0f3bca33c840990fb27c9edc17 | |
| parent | 7b75a8f9f4550df6ea82e8ee2b3452d9478bdb12 (diff) | |
| download | pyramid-65f3f8ea3964706002da64b6751d6302f426c3da.tar.gz pyramid-65f3f8ea3964706002da64b6751d6302f426c3da.tar.bz2 pyramid-65f3f8ea3964706002da64b6751d6302f426c3da.zip | |
Whoops, wasn't quite done adding vhost support to traverser yet.
| -rw-r--r-- | repoze/bfg/includes/configure.zcml | 4 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_traversal.py | 13 | ||||
| -rw-r--r-- | repoze/bfg/traversal.py | 6 |
3 files changed, 21 insertions, 2 deletions
diff --git a/repoze/bfg/includes/configure.zcml b/repoze/bfg/includes/configure.zcml index 7a07e1775..33e1aed39 100644 --- a/repoze/bfg/includes/configure.zcml +++ b/repoze/bfg/includes/configure.zcml @@ -15,7 +15,7 @@ <adapter factory="repoze.bfg.traversal.TraversalContextURL" provides="repoze.bfg.interfaces.IContextURL" - for="*" + for="* repoze.bfg.interfaces.IRequest" /> <!-- URL dispatch adapters --> @@ -29,7 +29,7 @@ <adapter factory="repoze.bfg.urldispatch.RoutesContextURL" provides="repoze.bfg.interfaces.IContextURL" - for="repoze.bfg.interfaces.IRoutesContext" + for="repoze.bfg.interfaces.IRoutesContext repoze.bfg.interfaces.IRequest" /> <include file="meta.zcml" /> diff --git a/repoze/bfg/tests/test_traversal.py b/repoze/bfg/tests/test_traversal.py index 48b968458..4782ab264 100644 --- a/repoze/bfg/tests/test_traversal.py +++ b/repoze/bfg/tests/test_traversal.py @@ -135,6 +135,19 @@ class ModelGraphTraverserTests(unittest.TestCase): self.assertEqual(name, 'foo') self.assertEqual(subpath, []) + def test_call_with_vh_root(self): + environ = self._getEnviron(PATH_INFO='/baz', + HTTP_X_VHM_ROOT='/foo/bar') + baz = DummyContext() + bar = DummyContext(baz) + foo = DummyContext(bar) + root = DummyContext(foo) + policy = self._makeOne(root) + ctx, name, subpath = policy(environ) + self.assertEqual(ctx, baz) + self.assertEqual(name, '') + self.assertEqual(subpath, []) + def test_call_with_ILocation_root_proxies(self): baz = DummyContext() bar = DummyContext(baz) diff --git a/repoze/bfg/traversal.py b/repoze/bfg/traversal.py index 76172c18c..476f119b9 100644 --- a/repoze/bfg/traversal.py +++ b/repoze/bfg/traversal.py @@ -228,6 +228,12 @@ class ModelGraphTraverser(object): path = environ['PATH_INFO'] except KeyError: path = '/' + try: + vroot = environ[VH_ROOT_KEY] + path = vroot + path + except KeyError: + pass + path = list(traversal_path(path)) locatable = self.locatable step = self._step |
