summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2019-02-16 17:58:48 +0100
committerGitHub <noreply@github.com>2019-02-16 17:58:48 +0100
commitca5ec803fc710ce95c11abc89d7773d8b4ce22b5 (patch)
tree767e9a544938e7c92c5cdd6da0283a541ac492ab
parentee464f56c440ee158fe28f7d3b750280bc63890d (diff)
parent673caa5f462e4f89ffae65b111a9817d29467277 (diff)
Merge pull request #25944 from Faless/net/http_editor_fixes
Fix keep-alive without header in HTTP client
-rw-r--r--core/io/http_client.cpp13
-rw-r--r--editor/plugins/asset_library_editor_plugin.cpp1
2 files changed, 7 insertions, 7 deletions
diff --git a/core/io/http_client.cpp b/core/io/http_client.cpp
index b3fd814870..b25b1934ff 100644
--- a/core/io/http_client.cpp
+++ b/core/io/http_client.cpp
@@ -426,11 +426,10 @@ Error HTTPClient::poll() {
response_headers.clear();
response_num = RESPONSE_OK;
- // Per the HTTP 1.1 spec, keep-alive is the default, but in practice
- // it's safe to assume it only if the explicit header is found, allowing
- // to handle body-up-to-EOF responses on naive servers; that's what Curl
- // and browsers do
- bool keep_alive = false;
+ // Per the HTTP 1.1 spec, keep-alive is the default.
+ // Not following that specification breaks standard implemetations.
+ // Broken web servers should be fixed.
+ bool keep_alive = true;
for (int i = 0; i < responses.size(); i++) {
@@ -447,8 +446,8 @@ Error HTTPClient::poll() {
if (encoding == "chunked") {
chunked = true;
}
- } else if (s.begins_with("connection: keep-alive")) {
- keep_alive = true;
+ } else if (s.begins_with("connection: close")) {
+ keep_alive = false;
}
if (i == 0 && responses[i].begins_with("HTTP")) {
diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp
index c68023ee9b..ab3936407b 100644
--- a/editor/plugins/asset_library_editor_plugin.cpp
+++ b/editor/plugins/asset_library_editor_plugin.cpp
@@ -1338,6 +1338,7 @@ void EditorAssetLibrary::_bind_methods() {
EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) {
+ requesting = REQUESTING_NONE;
templates_only = p_templates_only;
VBoxContainer *library_main = memnew(VBoxContainer);