Move read_loop() into docker.utils.socket.read_iter()

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
Aanand Prasad 2016-07-13 16:06:41 -04:00
parent b100666a3c
commit 43158cfe3f
2 changed files with 11 additions and 12 deletions

View File

@ -32,7 +32,7 @@ from .ssladapter import ssladapter
from .tls import TLSConfig from .tls import TLSConfig
from .transport import UnixAdapter from .transport import UnixAdapter
from .utils import utils, check_resource, update_headers, kwargs_from_env from .utils import utils, check_resource, update_headers, kwargs_from_env
from .utils.socket import read_socket, next_packet_size from .utils.socket import read_socket, next_packet_size, read_iter
try: try:
from .transport import NpipeAdapter from .transport import NpipeAdapter
except ImportError: except ImportError:
@ -310,20 +310,12 @@ class Client(
yield out yield out
def _read_from_socket(self, response, stream): def _read_from_socket(self, response, stream):
def read_loop(socket):
n = next_packet_size(socket)
while n > 0:
yield read_socket(socket, n)
n = next_packet_size(socket)
socket = self._get_raw_response_socket(response) socket = self._get_raw_response_socket(response)
if stream: if stream:
return read_loop(socket) return read_iter(socket)
else: else:
data = six.binary_type() return six.binary_type().join(read_iter(socket))
for d in read_loop(socket):
data += d
return data
def _disable_socket_timeout(self, socket): def _disable_socket_timeout(self, socket):
""" Depending on the combination of python version and whether we're """ Depending on the combination of python version and whether we're

View File

@ -47,3 +47,10 @@ def read_data(socket, packet_size):
assert False, "Failed trying to read in the data" assert False, "Failed trying to read in the data"
data += next_data data += next_data
return data return data
def read_iter(socket):
n = next_packet_size(socket)
while n > 0:
yield read_socket(socket, n)
n = next_packet_size(socket)