diff --git a/mercurial/hgweb/hgwebdir_mod.py b/mercurial/hgweb/hgwebdir_mod.py --- a/mercurial/hgweb/hgwebdir_mod.py +++ b/mercurial/hgweb/hgwebdir_mod.py @@ -422,8 +422,10 @@ if real: # Re-parse the WSGI environment to take into account our # repository path component. + uenv = {k.decode('latin1'): v for k, v in + req.rawenv.iteritems()} req = requestmod.parserequestfromenv( - req.rawenv, reponame=virtualrepo, + uenv, reponame=virtualrepo, altbaseurl=self.ui.config('web', 'baseurl')) try: # ensure caller gets private copy of ui