Mercurial > hg
changeset 36909:84110a1d0f7d
hgweb: store the raw WSGI environment dict
We need this so we can construct a new request instance
from the original dict.
Differential Revision: https://phab.mercurial-scm.org/D2831
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 11 Mar 2018 16:19:20 -0700 |
parents | cd6ae9ab7bd8 |
children | 98487ad0cf8b |
files | mercurial/hgweb/hgweb_mod.py mercurial/hgweb/request.py |
diffstat | 2 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hgweb/hgweb_mod.py Sun Mar 11 15:55:38 2018 -0700 +++ b/mercurial/hgweb/hgweb_mod.py Sun Mar 11 16:19:20 2018 -0700 @@ -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,
--- a/mercurial/hgweb/request.py Sun Mar 11 15:55:38 2018 -0700 +++ b/mercurial/hgweb/request.py Sun Mar 11 16:19:20 2018 -0700 @@ -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.