Mercurial > public > mercurial-scm > hg
comparison mercurial/hgweb/hgwebdir_mod.py @ 13821:a35aff48d577
hgweb: use url.url when setting CGI environment variables
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Wed, 30 Mar 2011 20:01:46 -0700 |
parents | 6337149fc07c |
children | 616ad3f6fd33 |
comparison
equal
deleted
inserted
replaced
13820:65b89e80f892 | 13821:a35aff48d577 |
---|---|
4 # Copyright 2005, 2006 Matt Mackall <mpm@selenic.com> | 4 # Copyright 2005, 2006 Matt Mackall <mpm@selenic.com> |
5 # | 5 # |
6 # This software may be used and distributed according to the terms of the | 6 # This software may be used and distributed according to the terms of the |
7 # GNU General Public License version 2 or any later version. | 7 # GNU General Public License version 2 or any later version. |
8 | 8 |
9 import os, re, time, urlparse | 9 import os, re, time |
10 from mercurial.i18n import _ | 10 from mercurial.i18n import _ |
11 from mercurial import ui, hg, util, templater | 11 from mercurial import ui, hg, util, templater |
12 from mercurial import error, encoding | 12 from mercurial import error, encoding, url |
13 from common import ErrorResponse, get_mtime, staticfile, paritygen, \ | 13 from common import ErrorResponse, get_mtime, staticfile, paritygen, \ |
14 get_contact, HTTP_OK, HTTP_NOT_FOUND, HTTP_SERVER_ERROR | 14 get_contact, HTTP_OK, HTTP_NOT_FOUND, HTTP_SERVER_ERROR |
15 from hgweb_mod import hgweb | 15 from hgweb_mod import hgweb |
16 from request import wsgirequest | 16 from request import wsgirequest |
17 import webutil | 17 import webutil |
359 "staticurl": staticurl, | 359 "staticurl": staticurl, |
360 "sessionvars": sessionvars}) | 360 "sessionvars": sessionvars}) |
361 return tmpl | 361 return tmpl |
362 | 362 |
363 def updatereqenv(self, env): | 363 def updatereqenv(self, env): |
364 def splitnetloc(netloc): | |
365 if ':' in netloc: | |
366 return netloc.split(':', 1) | |
367 else: | |
368 return (netloc, None) | |
369 | |
370 if self._baseurl is not None: | 364 if self._baseurl is not None: |
371 urlcomp = urlparse.urlparse(self._baseurl) | 365 u = url.url(self._baseurl) |
372 host, port = splitnetloc(urlcomp[1]) | 366 env['SERVER_NAME'] = u.host |
373 path = urlcomp[2] | 367 if u.port: |
374 env['SERVER_NAME'] = host | 368 env['SERVER_PORT'] = u.port |
375 if port: | 369 env['SCRIPT_NAME'] = '/' + u.path |
376 env['SERVER_PORT'] = port | |
377 env['SCRIPT_NAME'] = path |