From 833994b2949cbdd191dfdb095bb96913a7b3b03a Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Tue, 7 Feb 2017 10:21:17 +0100 Subject: HTTPClient properly handle partial data in non-blocking mode Use block to send DVector::Write out of scope in HTTPClient::read_response_body_chunk() --- core/io/http_client.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'core/io') diff --git a/core/io/http_client.cpp b/core/io/http_client.cpp index 63c8abbbad..fd06d27c1f 100644 --- a/core/io/http_client.cpp +++ b/core/io/http_client.cpp @@ -566,11 +566,13 @@ PoolByteArray HTTPClient::read_response_body_chunk() { int to_read = MIN(body_left,read_chunk_size); PoolByteArray ret; ret.resize(to_read); - PoolByteArray::Write w = ret.write(); int _offset = 0; while (to_read > 0) { int rec=0; - err = _get_http_data(w.ptr()+_offset,to_read,rec); + { + PoolByteArray::Write w = ret.write(); + err = _get_http_data(w.ptr()+_offset,to_read,rec); + } if (rec>0) { body_left-=rec; to_read-=rec; -- cgit v1.2.3