diff -r 1e2194e0ef62 -r 0031e972ded2 mercurial/hgweb/hgweb_mod.py --- a/mercurial/hgweb/hgweb_mod.py Thu Mar 08 12:59:25 2018 -0800 +++ b/mercurial/hgweb/hgweb_mod.py Thu Mar 08 15:08:20 2018 -0800 @@ -148,7 +148,7 @@ logourl = self.config('web', 'logourl') logoimg = self.config('web', 'logoimg') staticurl = (self.config('web', 'staticurl') - or pycompat.sysbytes(wsgireq.url) + 'static/') + or req.apppath + '/static/') if not staticurl.endswith('/'): staticurl += '/' @@ -170,7 +170,7 @@ if not self.reponame: self.reponame = (self.config('web', 'name', '') or wsgireq.env.get('REPO_NAME') - or wsgireq.url.strip(r'/') or self.repo.root) + or req.apppath or self.repo.root) def websubfilter(text): return templatefilters.websub(text, self.websubtable) @@ -178,7 +178,7 @@ # create the templater # TODO: export all keywords: defaults = templatekw.keywords.copy() defaults = { - 'url': pycompat.sysbytes(wsgireq.url), + 'url': req.apppath + '/', 'logourl': logourl, 'logoimg': logoimg, 'staticurl': staticurl, @@ -187,7 +187,7 @@ 'encoding': encoding.encoding, 'motd': motd, 'sessionvars': sessionvars, - 'pathdef': makebreadcrumb(pycompat.sysbytes(wsgireq.url)), + 'pathdef': makebreadcrumb(req.apppath), 'style': style, 'nonce': self.nonce, } @@ -318,8 +318,6 @@ if h[0] != 'Content-Security-Policy'] wsgireq.headers.append(('Content-Security-Policy', rctx.csp)) - wsgireq.url = pycompat.sysstr(req.apppath) - if r'PATH_INFO' in wsgireq.env: parts = wsgireq.env[r'PATH_INFO'].strip(r'/').split(r'/') repo_parts = wsgireq.env.get(r'REPO_NAME', r'').split(r'/')