Chris McDonough wrote: > On 8/9/09 8:16 AM, Martin Aspeli wrote: >> Hi, >> >> I've been debugging some weirdness with deliverance 0.3 in front of >> repoze.vhm and the vhm_xhosts middleware, which specifically happens >> when the VHM host has a port in it (e.g. localhost:8000). >> >> Basically, Deliverance uses webob.Request, and in particular its 'url' >> property to construct some URLs. After repoze.vhm does its thing, the >> URL loses the port part. >> >> It seems that before repoze.vhm kicks in, environ['HTTP_HOST'] is e.g. >> 'localhost:8000'. Afterwards, it's just 'localhost'. >> >> This is done here, in middleware.py: >> >> environ['SERVER_NAME'] = host >> environ['HTTP_HOST'] = host >> environ['SERVER_PORT'] = port >> environ['SCRIPT_NAME'] = path >> >> If I change this to the following, the url comes through correctly in >> webob.Request: >> >> environ['SERVER_NAME'] = host >> environ['HTTP_HOST'] = "%s:%s" % (host, port,) >> environ['SERVER_PORT'] = port >> environ['SCRIPT_NAME'] = path >> >> Would it be OK to change repoze.vhm to do this (and get a new release)? >> Or is there something more sinister going on? >> >> Martin >> >> > > I don't know quite how to read the spec here: > > http://www.freesoft.org/CIE/RFC/2068/184.htm > > In particular, I'm not sure if we should strip the port out of the hostname > if > the default port for the scheme is used. It doesn't say MUST around that > description, so I'd assume not. On the other hand, Firefox doesn't tack the > port number on for either https or http requests, so it might be a good idea > to > follow that lead. But delta that, yeah. For non-standard ports, the VHM > should > put the port in the http_host envvar.
I implemented this in r6220. I made it hide the port when the port is 80, otherwise include it, and added tests for that. Any chance we can get a new release? And also, any chance you can put a zopelib 2.10.8 and/or 2.10.9 on dist.repoze.org? See http://dist.saugus.net/zopelib-2.10.8.0.tar.gz Cheers, Martin -- Author of `Professional Plone Development`, a book for developers who want to work with Plone. See http://martinaspeli.net/plone-book _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev