Merge pull request #7750 from Faless/2.1.x_fix_7697
HTTPClient properly handle partial data in non-blocking mode
This commit is contained in:
commit
11b95cda45
|
@ -566,11 +566,13 @@ ByteArray HTTPClient::read_response_body_chunk() {
|
||||||
int to_read = MIN(body_left,read_chunk_size);
|
int to_read = MIN(body_left,read_chunk_size);
|
||||||
ByteArray ret;
|
ByteArray ret;
|
||||||
ret.resize(to_read);
|
ret.resize(to_read);
|
||||||
ByteArray::Write w = ret.write();
|
|
||||||
int _offset = 0;
|
int _offset = 0;
|
||||||
while (to_read > 0) {
|
while (to_read > 0) {
|
||||||
int rec=0;
|
int rec=0;
|
||||||
|
{
|
||||||
|
ByteArray::Write w = ret.write();
|
||||||
err = _get_http_data(w.ptr()+_offset,to_read,rec);
|
err = _get_http_data(w.ptr()+_offset,to_read,rec);
|
||||||
|
}
|
||||||
if (rec>0) {
|
if (rec>0) {
|
||||||
body_left-=rec;
|
body_left-=rec;
|
||||||
to_read-=rec;
|
to_read-=rec;
|
||||||
|
|
Loading…
Reference in New Issue