Show a more detailed error if the EULA request failed

This commit is contained in:
Kawe Mazidjatari 2023-10-25 23:29:37 +02:00
parent 284f06a145
commit 193cc9b19b
3 changed files with 11 additions and 9 deletions

View File

@ -293,7 +293,9 @@ namespace VScriptCode
SQRESULT GetEULAContents(HSQUIRRELVM v)
{
MSEulaData_t eulaData;
if (g_pMasterServer->GetEULA(eulaData))
string eulaRequestMessage;
if (g_pMasterServer->GetEULA(eulaData, eulaRequestMessage))
{
// set EULA version cvar to the newly fetched EULA version
eula_version->SetValue(eulaData.version);
@ -302,8 +304,10 @@ namespace VScriptCode
}
else
{
Warning(eDLL_T::UI, "Failed to load EULA Data\n");
sq_pushstring(v, "Failed to load EULA Data", -1);
string error = Format("Failed to load EULA Data: %s", eulaRequestMessage.c_str());
Warning(eDLL_T::UI, "%s\n", error.c_str());
sq_pushstring(v, error.c_str(), -1);
}
return SQ_OK;

View File

@ -387,19 +387,17 @@ static bool IsEULAUpToDate()
//-----------------------------------------------------------------------------
// Purpose: Gets the EULA from master server.
// Input : &outData -
// &outMessage -
// Output : True on success, false on failure.
//-----------------------------------------------------------------------------
bool CPylon::GetEULA(MSEulaData_t& outData) const
bool CPylon::GetEULA(MSEulaData_t& outData, string& outMessage) const
{
rapidjson::Document requestJson;
requestJson.SetObject();
rapidjson::Document responseJson;
CURLINFO status;
string outMessage;
if (!SendRequest("/eula", requestJson, responseJson, outMessage, status, "eula fetch error", false))
{
return false;

View File

@ -25,7 +25,7 @@ public:
bool AuthForConnection(const uint64_t nucleusId, const char* ipAddress, const char* authCode, string& outToken, string& outMessage) const;
bool GetEULA(MSEulaData_t& outData) const;
bool GetEULA(MSEulaData_t& outData, string& outMessage) const;
void ExtractError(const rapidjson::Document& resultBody, string& outMessage, CURLINFO status, const char* errorText = nullptr) const;
void ExtractError(const string& response, string& outMessage, CURLINFO status, const char* messageText = nullptr) const;