Kaydet (Commit) 7e105f57 authored tarafından Maxime Petazzoni's avatar Maxime Petazzoni

Merge pull request #184 from ibuildthecloud/fix-chunking

Use Requests.iter_lines to fix #176
......@@ -233,17 +233,8 @@ class Client(requests.Session):
def _stream_helper(self, response):
"""Generator for data coming from a chunked-encoded HTTP response."""
socket_fp = self._get_raw_response_socket(response)
socket_fp.setblocking(1)
socket = socket_fp.makefile()
while True:
size = int(socket.readline(), 16)
if size <= 0:
break
data = socket.readline()
if not data:
break
yield data
for line in response.iter_lines(chunk_size=32):
yield line
def _multiplexed_buffer_helper(self, response):
"""A generator of multiplexed data blocks read from a buffered
......@@ -349,6 +340,9 @@ class Client(requests.Session):
else:
context = utils.tar(path)
if utils.compare_version('1.8', self._version) >= 0:
stream = True
u = self._url('/build')
params = {
't': tag,
......@@ -372,7 +366,7 @@ class Client(requests.Session):
if context is not None:
context.close()
if stream or utils.compare_version('1.8', self._version) >= 0:
if stream:
return self._stream_helper(response)
else:
output = self._result(response)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment