Comments
Patch
@@ -254,6 +254,8 @@
self.server_write = None
self.headers = []
+ self.req = parserequestfromenv(wsgienv)
+
def respond(self, status, type, filename=None, body=None):
if not isinstance(type, str):
type = pycompat.sysstr(type)
@@ -287,6 +287,11 @@
real = repos.get(virtualrepo)
if real:
wsgireq.env['REPO_NAME'] = virtualrepo
+ # We have to re-parse because of updated environment
+ # variable.
+ # TODO this is kind of hacky and we should have a better
+ # way of doing this than with REPO_NAME side-effects.
+ wsgireq.req = requestmod.parserequestfromenv(wsgireq.env)
try:
# ensure caller gets private copy of ui
repo = hg.repository(self.ui.copy(), real)
@@ -304,7 +304,7 @@
yield r
def _runwsgi(self, wsgireq, repo):
- req = requestmod.parserequestfromenv(wsgireq.env)
+ req = wsgireq.req
rctx = requestcontext(self, repo)
# This state is global across all threads.