keepalive: work around slight deficiency in vcr
VCR's response type doesn't define the will_close attribute. Let's
just have keepalive default to closing the socket if the will_close
attribute is missing.
Differential Revision: https://phab.mercurial-scm.org/D4599
--- a/mercurial/keepalive.py Sat Sep 15 00:18:16 2018 -0400
+++ b/mercurial/keepalive.py Sat Sep 15 00:19:09 2018 -0400
@@ -247,8 +247,10 @@
except (socket.error, httplib.HTTPException) as err:
raise urlerr.urlerror(err)
- # if not a persistent connection, don't try to reuse it
- if r.will_close:
+ # If not a persistent connection, don't try to reuse it. Look
+ # for this using getattr() since vcr doesn't define this
+ # attribute, and in that case always close the connection.
+ if getattr(r, r'will_close', True):
self._cm.remove(h)
if DEBUG: