From c7ae820f1cb621239f1f3602d6164479598f50d1 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Sat, 23 Mar 2019 11:01:21 -0400 Subject: [PATCH] Add MotD when using a broken alternate update server --- src/client/Client.cpp | 10 ++++++---- src/client/http/Request.cpp | 2 +- src/client/http/Request.h | 2 +- src/lua/LegacyLuaAPI.cpp | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/client/Client.cpp b/src/client/Client.cpp index d81127ce10..9ba0fc4442 100644 --- a/src/client/Client.cpp +++ b/src/client/Client.cpp @@ -656,7 +656,7 @@ RequestStatus Client::ParseServerReturn(ByteString &result, int status, bool jso return RequestOkay; if (status != 200) { - lastError = String::Build("HTTP Error ", status, ": ", ByteString(http::StatusText(status)).FromUtf8()); + lastError = String::Build("HTTP Error ", status, ": ", http::StatusText(status)); return RequestFailure; } @@ -686,7 +686,7 @@ RequestStatus Client::ParseServerReturn(ByteString &result, int status, bool jso if (!strncmp(result.c_str(), "Error: ", 7)) { status = ByteString(result.begin() + 7, result.end()).ToNumber(); - lastError = String::Build("HTTP Error ", status, ": ", ByteString(http::StatusText(status)).FromUtf8()); + lastError = String::Build("HTTP Error ", status, ": ", http::StatusText(status)); return RequestFailure; } lastError = "Could not read response: " + ByteString(e.what()).FromUtf8(); @@ -729,6 +729,8 @@ bool Client::CheckUpdate(http::Request *updateRequest, bool checkSession) if (status != 200) { //free(data); + if (usingAltUpdateServer && !checkSession) + this->messageOfTheDay = String::Build("HTTP Error ", status, " while checking for updates: ", http::StatusText(status)); } else if(data.size()) { @@ -1475,7 +1477,7 @@ SaveInfo * Client::GetSave(int saveID, int saveDate) } else { - lastError = ByteString(http::StatusText(dataStatus)).FromUtf8(); + lastError = http::StatusText(dataStatus); } return NULL; } @@ -1521,7 +1523,7 @@ std::vector > * Client::GetTags(int start, int count, } else { - lastError = ByteString(http::StatusText(dataStatus)).FromUtf8(); + lastError = http::StatusText(dataStatus); } return tagArray; } diff --git a/src/client/http/Request.cpp b/src/client/http/Request.cpp index 30ef839cfd..f802dc73cb 100644 --- a/src/client/http/Request.cpp +++ b/src/client/http/Request.cpp @@ -274,7 +274,7 @@ namespace http return request->Finish(status); } - const char *StatusText(int ret) + String StatusText(int ret) { switch (ret) { diff --git a/src/client/http/Request.h b/src/client/http/Request.h index 24afd0bd21..53e4864643 100644 --- a/src/client/http/Request.h +++ b/src/client/http/Request.h @@ -72,7 +72,7 @@ namespace http static ByteString SimpleAuth(ByteString uri, int *status, ByteString ID, ByteString session, std::map post_data = std::map{}); }; - const char *StatusText(int code); + String StatusText(int code); extern const long timeout; extern ByteString proxy; diff --git a/src/lua/LegacyLuaAPI.cpp b/src/lua/LegacyLuaAPI.cpp index b5706a4963..a579a55a26 100644 --- a/src/lua/LegacyLuaAPI.cpp +++ b/src/lua/LegacyLuaAPI.cpp @@ -1362,7 +1362,7 @@ int luatpt_getscript(lua_State* l) } if (ret != 200) { - return luaL_error(l, http::StatusText(ret)); + return luaL_error(l, http::StatusText(ret).ToUtf8().c_str()); } if (!strcmp(scriptData.c_str(), "Invalid script ID\r\n"))