diff --git a/Source/DedicatedServers/Private/UI/APITest/APITestManager.cpp b/Source/DedicatedServers/Private/UI/APITest/APITestManager.cpp index 91c4cb51..c30774cf 100644 --- a/Source/DedicatedServers/Private/UI/APITest/APITestManager.cpp +++ b/Source/DedicatedServers/Private/UI/APITest/APITestManager.cpp @@ -5,6 +5,7 @@ #include "HttpModule.h" #include "JsonObjectConverter.h" #include "Data/API/APIData.h" +#include "DedicatedServers/DedicatedServers.h" #include "GameplayTags/DedicatedServerTags.h" #include "Interfaces/IHttpResponse.h" #include "UI/HTTP/HTTPRequestTypes.h" @@ -36,6 +37,26 @@ void UAPITestManager::ListFleets_Response(FHttpRequestPtr Request, FHttpResponse if (FJsonSerializer::Deserialize(JsonReader, JsonObject)) { + if (JsonObject->HasField(TEXT("errorType")) || JsonObject->HasField(TEXT("errorMessage"))) + { + FString ErrorType = JsonObject->HasField(TEXT("errorType")) ? JsonObject->GetStringField(TEXT("errorType")) : FString("Unknown Error"); + FString ErrorMessage = JsonObject->HasField(TEXT("errorMessage")) ? JsonObject->GetStringField(TEXT("errorMessage")) : FString("Unknown Error Message"); + + UE_LOGFMT(LogDedicatedServers, Error, "Error Type: {ErrorType}", ErrorType); + UE_LOGFMT(LogDedicatedServers, Error, "Error Message: {ErrorMessage}", ErrorMessage); + + return; + } + + if (JsonObject->HasField(TEXT("$fault"))) + { + FString ErrorType = JsonObject->HasField(TEXT("name")) ? JsonObject->GetStringField(TEXT("name")) : FString("Unknown Error"); + UE_LOGFMT(LogDedicatedServers, Error, "Error Type: {ErrorType}", ErrorType); + return; + } + + + if (JsonObject->HasField(TEXT("$metadata"))) { TSharedPtr MetaDataJsonObject = JsonObject->GetObjectField(TEXT("$metadata"));