You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-15 13:51:40 +00:00
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:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user