HTTPClient properly handle partial data in non-blocking mode

Use block to send DVector::Write out of scope in
HTTPClient::read_response_body_chunk()
This commit is contained in:
Fabio Alessandrelli 2017-02-07 10:21:17 +01:00
parent 6bfaa0f12c
commit 833994b294

View file

@ -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;