aboutsummaryrefslogtreecommitdiff
path: root/platform/javascript/http_client_javascript.cpp
diff options
context:
space:
mode:
authorLeon Krause2018-02-16 05:11:25 +0100
committerHein-Pieter van Braam2018-02-19 22:42:01 +0100
commit2714b851bf649f11097dc90692d3c7867cfe4711 (patch)
tree1261ba7d206564142291579e65fdae4772aa0054 /platform/javascript/http_client_javascript.cpp
parent2abbdcaa20b79015a1356170636f1f2e230ee490 (diff)
downloadgodot-2714b851bf649f11097dc90692d3c7867cfe4711.tar.gz
godot-2714b851bf649f11097dc90692d3c7867cfe4711.tar.zst
godot-2714b851bf649f11097dc90692d3c7867cfe4711.zip
Diffstat (limited to 'platform/javascript/http_client_javascript.cpp')
-rw-r--r--platform/javascript/http_client_javascript.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/platform/javascript/http_client_javascript.cpp b/platform/javascript/http_client_javascript.cpp
index 1cd271972..badfe40e6 100644
--- a/platform/javascript/http_client_javascript.cpp
+++ b/platform/javascript/http_client_javascript.cpp
@@ -239,15 +239,11 @@ Error HTTPClient::poll() {
case STATUS_REQUESTING:
polled_response_code = godot_xhr_get_status(xhr_id);
- int response_length = godot_xhr_get_response_length(xhr_id);
- if (response_length == 0) {
- godot_xhr_ready_state_t ready_state = godot_xhr_get_ready_state(xhr_id);
- if (ready_state == XHR_READY_STATE_HEADERS_RECEIVED || ready_state == XHR_READY_STATE_LOADING) {
- return OK;
- } else {
- status = STATUS_CONNECTION_ERROR;
- return ERR_CONNECTION_ERROR;
- }
+ if (godot_xhr_get_ready_state(xhr_id) != XHR_READY_STATE_DONE) {
+ return OK;
+ } else if (!polled_response_code) {
+ status = STATUS_CONNECTION_ERROR;
+ return ERR_CONNECTION_ERROR;
}
status = STATUS_BODY;
@@ -263,9 +259,9 @@ Error HTTPClient::poll() {
polled_response_header = String::utf8(reinterpret_cast<const char *>(read.ptr()));
read = PoolByteArray::Read();
- polled_response.resize(response_length);
+ polled_response.resize(godot_xhr_get_response_length(xhr_id));
write = polled_response.write();
- godot_xhr_get_response(xhr_id, write.ptr(), response_length);
+ godot_xhr_get_response(xhr_id, write.ptr(), polled_response.size());
write = PoolByteArray::Write();
break;
}