D2735: hgweb: use computed base URL from parsed request
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Fri Mar 9 01:06:40 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Let's not reinvent URL construction in a function that runs the
templater.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D2735
AFFECTED FILES
mercurial/hgweb/hgweb_mod.py
CHANGE DETAILS
diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py
--- a/mercurial/hgweb/hgweb_mod.py
+++ b/mercurial/hgweb/hgweb_mod.py
@@ -142,21 +142,9 @@
if typ in allowed or self.configbool('web', 'allow%s' % typ):
yield {'type': typ, 'extension': spec[2], 'node': nodeid}
- def templater(self, wsgireq):
+ def templater(self, wsgireq, req):
# determine scheme, port and server name
# this is needed to create absolute urls
-
- proto = wsgireq.env.get('wsgi.url_scheme')
- if proto == 'https':
- proto = 'https'
- default_port = '443'
- else:
- proto = 'http'
- default_port = '80'
-
- port = wsgireq.env[r'SERVER_PORT']
- port = port != default_port and (r':' + port) or r''
- urlbase = r'%s://%s%s' % (proto, wsgireq.env[r'SERVER_NAME'], port)
logourl = self.config('web', 'logourl')
logoimg = self.config('web', 'logoimg')
staticurl = (self.config('web', 'staticurl')
@@ -194,7 +182,7 @@
'logourl': logourl,
'logoimg': logoimg,
'staticurl': staticurl,
- 'urlbase': urlbase,
+ 'urlbase': req.advertisedbaseurl,
'repo': self.reponame,
'encoding': encoding.encoding,
'motd': motd,
@@ -396,7 +384,7 @@
# process the web interface request
try:
- tmpl = rctx.templater(wsgireq)
+ tmpl = rctx.templater(wsgireq, req)
ctype = tmpl('mimetype', encoding=encoding.encoding)
ctype = templater.stringify(ctype)
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list