|
|
|
|
@ -375,17 +375,19 @@ bool HTTPRequest::_update_connection() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
PackedByteArray chunk = client->read_response_body_chunk();
|
|
|
|
|
downloaded.add(chunk.size());
|
|
|
|
|
|
|
|
|
|
if (file) {
|
|
|
|
|
const uint8_t *r = chunk.ptr();
|
|
|
|
|
file->store_buffer(r, chunk.size());
|
|
|
|
|
if (file->get_error() != OK) {
|
|
|
|
|
call_deferred("_request_done", RESULT_DOWNLOAD_FILE_WRITE_ERROR, response_code, response_headers, PackedByteArray());
|
|
|
|
|
return true;
|
|
|
|
|
if (chunk.size()) {
|
|
|
|
|
downloaded.add(chunk.size());
|
|
|
|
|
if (file) {
|
|
|
|
|
const uint8_t *r = chunk.ptr();
|
|
|
|
|
file->store_buffer(r, chunk.size());
|
|
|
|
|
if (file->get_error() != OK) {
|
|
|
|
|
call_deferred("_request_done", RESULT_DOWNLOAD_FILE_WRITE_ERROR, response_code, response_headers, PackedByteArray());
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
body.append_array(chunk);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
body.append_array(chunk);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (body_size_limit >= 0 && downloaded.get() > body_size_limit) {
|
|
|
|
|
|