Lesson 65 - Parsing Errors
This commit is contained in:
@@ -5,6 +5,7 @@
|
|||||||
#include "HttpModule.h"
|
#include "HttpModule.h"
|
||||||
#include "JsonObjectConverter.h"
|
#include "JsonObjectConverter.h"
|
||||||
#include "Data/API/APIData.h"
|
#include "Data/API/APIData.h"
|
||||||
|
#include "DedicatedServers/DedicatedServers.h"
|
||||||
#include "GameplayTags/DedicatedServersTags.h"
|
#include "GameplayTags/DedicatedServersTags.h"
|
||||||
#include "Interfaces/IHttpResponse.h"
|
#include "Interfaces/IHttpResponse.h"
|
||||||
#include "UI/HTTP/HTTPRequestTypes.h"
|
#include "UI/HTTP/HTTPRequestTypes.h"
|
||||||
@@ -33,8 +34,28 @@ void UAPITestManager::ListFleets_Response(FHttpRequestPtr Request, FHttpResponse
|
|||||||
|
|
||||||
TSharedPtr<FJsonObject> JsonObject;
|
TSharedPtr<FJsonObject> JsonObject;
|
||||||
TSharedRef<TJsonReader<>> JsonReader = TJsonReaderFactory<>::Create(Response->GetContentAsString());
|
TSharedRef<TJsonReader<>> JsonReader = TJsonReaderFactory<>::Create(Response->GetContentAsString());
|
||||||
|
|
||||||
if (FJsonSerializer::Deserialize(JsonReader, JsonObject))
|
if (FJsonSerializer::Deserialize(JsonReader, JsonObject))
|
||||||
{
|
{
|
||||||
|
const TSharedPtr<FJsonObject>* ErrorObjPtr = nullptr;;
|
||||||
|
|
||||||
|
if (JsonObject->HasField(TEXT("errorType")) || JsonObject->HasField(TEXT("errorMessage")))
|
||||||
|
{
|
||||||
|
FString ErrorType = JsonObject->HasField(TEXT("errorType")) ? JsonObject->GetStringField(TEXT("errorType")) : TEXT("Unknown Error");
|
||||||
|
FString ErrorMessage = JsonObject->HasField(TEXT("errorMessage")) ? JsonObject->GetStringField(TEXT("errorMessage")) : TEXT("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")) : TEXT("Unknown Error");
|
||||||
|
UE_LOGFMT(LogDedicatedServers, Error, "Error Type: {ErrorType}", ErrorType);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (JsonObject->HasField(TEXT("$metadata")))
|
if (JsonObject->HasField(TEXT("$metadata")))
|
||||||
{
|
{
|
||||||
TSharedPtr<FJsonObject> MetaDataJsonObject = JsonObject->GetObjectField(TEXT("$metadata"));
|
TSharedPtr<FJsonObject> MetaDataJsonObject = JsonObject->GetObjectField(TEXT("$metadata"));
|
||||||
|
|||||||
Reference in New Issue
Block a user