From 78c43c2560b8df73de22db20ec11e3e26f31ca51 Mon Sep 17 00:00:00 2001 From: Andreas Jung <yet@gmx.de> Date: Fri, 24 Mar 2006 12:52:47 +0000 Subject: [PATCH] - Collector #2037: fixed broken ACTUAL_URL for '/' --- doc/CHANGES.txt | 2 ++ lib/python/Products/SiteAccess/VirtualHostMonster.py | 2 +- .../SiteAccess/tests/testVirtualHostMonster.py | 11 +++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/doc/CHANGES.txt b/doc/CHANGES.txt index 555b91e1c..b5b9c3deb 100644 --- a/doc/CHANGES.txt +++ b/doc/CHANGES.txt @@ -20,6 +20,8 @@ Zope Changes - Missing import of NotFound in webdav.Resource. + - Collector #2037: fixed broken ACTUAL_URL for '/' + Zope 2.9.1 (2006/02/25) Bugs fixed diff --git a/lib/python/Products/SiteAccess/VirtualHostMonster.py b/lib/python/Products/SiteAccess/VirtualHostMonster.py index 2323082fa..80cfbaf47 100644 --- a/lib/python/Products/SiteAccess/VirtualHostMonster.py +++ b/lib/python/Products/SiteAccess/VirtualHostMonster.py @@ -193,7 +193,7 @@ class VirtualHostMonster(Persistent, Item, Implicit): request['VIRTUAL_URL'] = '/'.join(vup) # new ACTUAL_URL - add = request['ACTUAL_URL'].endswith('/') and '/' or '' + add = (path and request['ACTUAL_URL'].endswith('/')) and '/' or '' request['ACTUAL_URL'] = request['VIRTUAL_URL']+add return diff --git a/lib/python/Products/SiteAccess/tests/testVirtualHostMonster.py b/lib/python/Products/SiteAccess/tests/testVirtualHostMonster.py index c12af10de..7ed9b3d63 100644 --- a/lib/python/Products/SiteAccess/tests/testVirtualHostMonster.py +++ b/lib/python/Products/SiteAccess/tests/testVirtualHostMonster.py @@ -59,6 +59,17 @@ class VHMRegressions(unittest.TestCase): m = self.app.folder.doc.getPhysicalPath self.assertEqual(m(), ('', 'folder', 'doc')) + def test_actual_url(self): + self.app.folder.manage_addDTMLMethod('index_html', '') + ob = self.traverse('/VirtualHostBase/http/www.mysite.com:80/folder/VirtualHostRoot/doc/') + self.assertEqual(self.app.REQUEST['ACTUAL_URL'], 'http://www.mysite.com/doc/') + ob = self.traverse('/VirtualHostBase/http/www.mysite.com:80/folder/VirtualHostRoot/doc') + self.assertEqual(self.app.REQUEST['ACTUAL_URL'], 'http://www.mysite.com/doc') + ob = self.traverse('/VirtualHostBase/http/www.mysite.com:80/folder/VirtualHostRoot/') + self.assertEqual(self.app.REQUEST['ACTUAL_URL'], 'http://www.mysite.com/') + ob = self.traverse('/VirtualHostBase/http/www.mysite.com:80/folder/VirtualHostRoot') + self.assertEqual(self.app.REQUEST['ACTUAL_URL'], 'http://www.mysite.com/') + def gen_cases(): for vbase, ubase in ( ('', 'http://foo'), -- 2.30.9