HTTPClient properly handle partial data in non-blocking mode

Use block to send DVector::Write out of scope in
HTTPClient::read_response_body_chunk()

(cherry picked from commit 833994b294)
This commit is contained in:
Fabio Alessandrelli 2017-02-07 10:21:17 +01:00
parent 34b6caa433
commit 1f08d17a98

View file

@ -566,11 +566,13 @@ ByteArray HTTPClient::read_response_body_chunk() {
int to_read = MIN(body_left,read_chunk_size);
ByteArray ret;
ret.resize(to_read);
ByteArray::Write w = ret.write();
int _offset = 0;
while (to_read > 0) {
int rec=0;
err = _get_http_data(w.ptr()+_offset,to_read,rec);
{
ByteArray::Write w = ret.write();
err = _get_http_data(w.ptr()+_offset,to_read,rec);
}
if (rec>0) {
body_left-=rec;
to_read-=rec;