Patchwork D2741: wireprotoserver: remove broken optimization for non-httplib client

login
register
mail settings
Submitter phabricator
Date March 9, 2018, 1:06 a.m.
Message ID <differential-rev-PHID-DREV-bn7iyz7a55hnyq23ee3j-req@phab.mercurial-scm.org>
Download mbox | patch
Permalink /patch/29144/
State Superseded
Headers show

Comments

phabricator - March 9, 2018, 1:06 a.m.
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




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

Patch

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'))