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