Patchwork D2831: hgweb: store the raw WSGI environment dict

login
register
mail settings
Submitter phabricator
Date March 12, 2018, 9:43 p.m.
Message ID <cf5dbcabdd73e01e5264bc2cdf52911f@localhost.localdomain>
Download mbox | patch
Permalink /patch/29406/
State Not Applicable
Headers show

Comments

phabricator - March 12, 2018, 9:43 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG84110a1d0f7d: hgweb: store the raw WSGI environment dict (authored by indygreg, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D2831?vs=6897&id=6962

REVISION DETAIL
  https://phab.mercurial-scm.org/D2831

AFFECTED FILES
  mercurial/hgweb/hgweb_mod.py
  mercurial/hgweb/request.py

CHANGE DETAILS




To: indygreg, #hg-reviewers, durin42
Cc: mercurial-devel

Patch

diff --git a/mercurial/hgweb/request.py b/mercurial/hgweb/request.py
--- a/mercurial/hgweb/request.py
+++ b/mercurial/hgweb/request.py
@@ -149,6 +149,8 @@ 
     headers = attr.ib()
     # Request body input stream.
     bodyfh = attr.ib()
+    # WSGI environment dict, unmodified.
+    rawenv = attr.ib()
 
 def parserequestfromenv(env, bodyfh, reponame=None, altbaseurl=None):
     """Parse URL components from environment variables.
@@ -342,7 +344,8 @@ 
                          querystring=querystring,
                          qsparams=qsparams,
                          headers=headers,
-                         bodyfh=bodyfh)
+                         bodyfh=bodyfh,
+                         rawenv=env)
 
 class offsettrackingwriter(object):
     """A file object like object that is append only and tracks write count.
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
@@ -312,7 +312,7 @@ 
 
         # This state is global across all threads.
         encoding.encoding = rctx.config('web', 'encoding')
-        rctx.repo.ui.environ = wsgireq.env
+        rctx.repo.ui.environ = req.rawenv
 
         if rctx.csp:
             # hgwebdir may have added CSP header. Since we generate our own,