Commit be284f88 authored by Andreas Jung's avatar Andreas Jung

- Collector #2037: fixed broken ACTUAL_URL for '/'

parent 60b9704f
...@@ -202,6 +202,8 @@ Zope Changes ...@@ -202,6 +202,8 @@ Zope Changes
Bugs Fixed Bugs Fixed
- Collector #2037: fixed broken ACTUAL_URL for '/'
- Missing import of NotFound in webdav.Resource - Missing import of NotFound in webdav.Resource
- Collector #1819: fixed method signature of - Collector #1819: fixed method signature of
......
...@@ -200,7 +200,7 @@ class VirtualHostMonster(Persistent, Item, Implicit): ...@@ -200,7 +200,7 @@ class VirtualHostMonster(Persistent, Item, Implicit):
request['VIRTUAL_URL'] = '/'.join(vup) request['VIRTUAL_URL'] = '/'.join(vup)
# new ACTUAL_URL # 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 request['ACTUAL_URL'] = request['VIRTUAL_URL']+add
return return
......
...@@ -59,6 +59,17 @@ class VHMRegressions(unittest.TestCase): ...@@ -59,6 +59,17 @@ class VHMRegressions(unittest.TestCase):
m = self.app.folder.doc.getPhysicalPath m = self.app.folder.doc.getPhysicalPath
self.assertEqual(m(), ('', 'folder', 'doc')) 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(): def gen_cases():
for vbase, ubase in ( for vbase, ubase in (
('', 'http://foo'), ('', 'http://foo'),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment