D2741: wireprotoserver: remove broken optimization for non-httplib client
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Fri Mar 9 01:06:42 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
There was an experimental non-httplib client in core for several
years. It was removed a week or so ago.
We kept the optimization for this client in the server code. I'm
not sure if that was intended or not. But it doesn't matter: the
code was wrong.
Because the code was accessing a WSGI environment dict, it needed to
access the HTTP_X_HGHTTP2 key to actually read the HTTP header. So
the code deleted by this commit wasn't actually doing anything
meaningful. Doh.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D2741
AFFECTED FILES
mercurial/wireprotoserver.py
CHANGE DETAILS
diff --git a/mercurial/wireprotoserver.py b/mercurial/wireprotoserver.py
--- a/mercurial/wireprotoserver.py
+++ b/mercurial/wireprotoserver.py
@@ -328,10 +328,7 @@
if (wsgireq.env[r'REQUEST_METHOD'] == r'POST' and
# But not if Expect: 100-continue is being used.
(wsgireq.env.get('HTTP_EXPECT',
- '').lower() != '100-continue') or
- # Or the non-httplib HTTP library is being advertised by
- # the client.
- wsgireq.env.get('X-HgHttp2', '')):
+ '').lower() != '100-continue')):
wsgireq.drain()
else:
wsgireq.headers.append((r'Connection', r'Close'))
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list