mercurial/hgweb/hgwebdir_mod.py
changeset 37712 a728e3695325
parent 37515 8a5ee6aa8870
child 37818 877185de62cf
equal deleted inserted replaced
37711:65a23cc8e75b 37712:a728e3695325
   420             for virtualrepo in _virtualdirs():
   420             for virtualrepo in _virtualdirs():
   421                 real = repos.get(virtualrepo)
   421                 real = repos.get(virtualrepo)
   422                 if real:
   422                 if real:
   423                     # Re-parse the WSGI environment to take into account our
   423                     # Re-parse the WSGI environment to take into account our
   424                     # repository path component.
   424                     # repository path component.
       
   425                     uenv = req.rawenv
       
   426                     if pycompat.ispy3:
       
   427                         uenv = {k.decode('latin1'): v for k, v in
       
   428                                 uenv.iteritems()}
   425                     req = requestmod.parserequestfromenv(
   429                     req = requestmod.parserequestfromenv(
   426                         req.rawenv, reponame=virtualrepo,
   430                         uenv, reponame=virtualrepo,
   427                         altbaseurl=self.ui.config('web', 'baseurl'))
   431                         altbaseurl=self.ui.config('web', 'baseurl'))
   428                     try:
   432                     try:
   429                         # ensure caller gets private copy of ui
   433                         # ensure caller gets private copy of ui
   430                         repo = hg.repository(self.ui.copy(), real)
   434                         repo = hg.repository(self.ui.copy(), real)
   431                         return hgweb_mod.hgweb(repo).run_wsgi(req, res)
   435                         return hgweb_mod.hgweb(repo).run_wsgi(req, res)