Skip to content

Commit d977505

Browse files
committed
on python 2, socket.fp doesn't have a readinto() method. Work around this like limitation like is done elsewhere in this module
1 parent a8114e4 commit d977505

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/future/backports/http/client.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -696,9 +696,19 @@ def _safe_readinto(self, b):
696696
while total_bytes < len(b):
697697
if MAXAMOUNT < len(mvb):
698698
temp_mvb = mvb[0:MAXAMOUNT]
699-
n = self.fp.readinto(temp_mvb)
699+
if PY2:
700+
data = self.fp.read(len(temp_mvb))
701+
n = len(data)
702+
temp_mvb[:n] = data
703+
else:
704+
n = self.fp.readinto(temp_mvb)
700705
else:
701-
n = self.fp.readinto(mvb)
706+
if PY2:
707+
data = self.fp.read(len(mvb))
708+
n = len(data)
709+
mvb[:n] = data
710+
else:
711+
n = self.fp.readinto(mvb)
702712
if not n:
703713
raise IncompleteRead(bytes(mvb[0:total_bytes]), len(b))
704714
mvb = mvb[n:]

0 commit comments

Comments
 (0)