Commit 12f7e5c0 authored by Andreas Jung's avatar Andreas Jung

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

parent df62dab6
...@@ -18,6 +18,8 @@ Zope Changes ...@@ -18,6 +18,8 @@ Zope Changes
Bugs fixed Bugs fixed
- Collector #2037: fixed broken ACTUAL_URL for '/'
- Collector #2039: 'ZPublisher.HTTPRequest.HTTPRequest._authUserPW' - Collector #2039: 'ZPublisher.HTTPRequest.HTTPRequest._authUserPW'
choked on passwords which contained colons. choked on passwords which contained colons.
......
...@@ -193,7 +193,7 @@ class VirtualHostMonster(Persistent, Item, Implicit): ...@@ -193,7 +193,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
......
...@@ -57,6 +57,17 @@ class VHMRegressions(unittest.TestCase): ...@@ -57,6 +57,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