Fix broken-pipe seen in glance-api
When file size is an exact multiple of chunk_size, glance client is processing EOF in image-data as a chunk and sends to glance-api. The server treats this as the end of chunked transmission and sends a http response. When the actual last chunk is sent by the 'requests' library, the server sends a 400 response and tracebacks with broken pipe as the client has already closed the socket. Closes-Bug: #1342080 Change-Id: Icdbff838450db1c252ddc919a230a7d3ca16765f
This commit is contained in:
parent
0cdc947bf9
commit
e3600ad7be
@ -168,6 +168,8 @@ class HTTPClient(object):
|
|||||||
chunk = body
|
chunk = body
|
||||||
while chunk:
|
while chunk:
|
||||||
chunk = body.read(CHUNKSIZE)
|
chunk = body.read(CHUNKSIZE)
|
||||||
|
if chunk == '':
|
||||||
|
break
|
||||||
yield chunk
|
yield chunk
|
||||||
|
|
||||||
data = kwargs.pop("data", None)
|
data = kwargs.pop("data", None)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user