Lesson 62 - Parsing the Metadata
This commit is contained in:
@@ -3,9 +3,11 @@
|
||||
|
||||
#include "UI/APITest/APITestManager.h"
|
||||
#include "HttpModule.h"
|
||||
#include "JsonObjectConverter.h"
|
||||
#include "Data/API/APIData.h"
|
||||
#include "GameplayTags/DedicatedServerTags.h"
|
||||
#include "Interfaces/IHttpResponse.h"
|
||||
#include "UI/HTTP/HTTPRequestTypes.h"
|
||||
|
||||
|
||||
void UAPITestManager::ListFleetsButtonClicked()
|
||||
@@ -34,13 +36,13 @@ void UAPITestManager::ListFleets_Response(FHttpRequestPtr Request, FHttpResponse
|
||||
|
||||
if (FJsonSerializer::Deserialize(JsonReader, JsonObject))
|
||||
{
|
||||
if (JsonObject->HasField(TEXT("FleetIds")))
|
||||
if (JsonObject->HasField(TEXT("$metadata")))
|
||||
{
|
||||
for (TSharedPtr<FJsonValue> Fleet : JsonObject->GetArrayField(TEXT("FleetIds")))
|
||||
{
|
||||
FString FleetString = Fleet->AsString();
|
||||
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FleetString);
|
||||
}
|
||||
TSharedPtr<FJsonObject> MetaDataJsonObject = JsonObject->GetObjectField(TEXT("$metadata"));
|
||||
FDSMetaData DSMetaData;
|
||||
FJsonObjectConverter::JsonObjectToUStruct(MetaDataJsonObject.ToSharedRef(), &DSMetaData);
|
||||
|
||||
DSMetaData.Dump();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
11
Source/DedicatedServers/Private/UI/HTTP/HTTPRequestTypes.cpp
Normal file
11
Source/DedicatedServers/Private/UI/HTTP/HTTPRequestTypes.cpp
Normal file
@@ -0,0 +1,11 @@
|
||||
#include "UI/HTTP/HTTPRequestTypes.h"
|
||||
#include "DedicatedServers/DedicatedServers.h"
|
||||
|
||||
void FDSMetaData::Dump() const
|
||||
{
|
||||
UE_LOGFMT(LogDedicatedServers, Log, "MetaData:");
|
||||
UE_LOGFMT(LogDedicatedServers, Log, "httpStatusCode: {httpStatusCode}", httpStatusCode);
|
||||
UE_LOGFMT(LogDedicatedServers, Log, "requestId: {requestId}", requestId);
|
||||
UE_LOGFMT(LogDedicatedServers, Log, "attempts: {attempts}", attempts);
|
||||
UE_LOGFMT(LogDedicatedServers, Log, "totalRetryDelay: {totalRetryDelay}", totalRetryDelay);
|
||||
}
|
||||
Reference in New Issue
Block a user