keepalive: set buffering=True to do more efficient reads of headers
authorKyle Lippincott <spectral@google.com>
Fri, 02 Jun 2017 14:08:26 -0700
changeset 32668 d7626e85dada
parent 32667 2806c7bbcb5e
child 32669 6ac367b6ae8a
keepalive: set buffering=True to do more efficient reads of headers Support for buffering was added to python in d09d6fe31b61, first released with python2.7. Without this, the entirety of the response headers is read byte-by-byte (it does more efficient reads when it gets to the non-header part of the response).
mercurial/keepalive.py
--- a/mercurial/keepalive.py	Thu Jun 01 18:23:20 2017 -0700
+++ b/mercurial/keepalive.py	Fri Jun 02 14:08:26 2017 -0700
@@ -354,7 +354,8 @@
 
     def __init__(self, sock, debuglevel=0, strict=0, method=None):
         httplib.HTTPResponse.__init__(self, sock, debuglevel=debuglevel,
-                                      strict=True, method=method)
+                                      strict=True, method=method,
+                                      buffering=True)
         self.fileno = sock.fileno
         self.code = None
         self._rbuf = ''