2026-03-29 07:54:19 -04:00
|
|
|
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "UI/APITest/APITestManager.h"
|
2026-03-29 20:20:59 -04:00
|
|
|
#include "HttpModule.h"
|
2026-03-30 06:57:00 -04:00
|
|
|
#include "JsonObjectConverter.h"
|
2026-03-29 20:20:59 -04:00
|
|
|
#include "Data/API/APIData.h"
|
|
|
|
|
#include "GameplayTags/DedicatedServerTags.h"
|
2026-03-30 05:10:02 -04:00
|
|
|
#include "Interfaces/IHttpResponse.h"
|
2026-03-30 06:57:00 -04:00
|
|
|
#include "UI/HTTP/HTTPRequestTypes.h"
|
2026-03-30 05:10:02 -04:00
|
|
|
|
2026-03-29 07:54:19 -04:00
|
|
|
|
|
|
|
|
void UAPITestManager::ListFleetsButtonClicked()
|
|
|
|
|
{
|
2026-03-29 20:20:59 -04:00
|
|
|
check(APIData);
|
|
|
|
|
|
|
|
|
|
TSharedPtr<IHttpRequest> Request = FHttpModule::Get().CreateRequest();
|
|
|
|
|
Request->OnProcessRequestComplete().BindUObject(this, &UAPITestManager::ListFleets_Response);
|
|
|
|
|
|
|
|
|
|
const FString APIUrl = APIData->GetAPIEndPoint(DedicatedServersTags::GameSessionsAPI::ListFleets);
|
|
|
|
|
|
|
|
|
|
Request->SetURL(APIUrl);
|
|
|
|
|
Request->SetVerb("GET");
|
|
|
|
|
Request->SetHeader("Content-Type", "application/json");
|
|
|
|
|
Request->ProcessRequest();
|
|
|
|
|
|
|
|
|
|
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, "List Fleets Request Made");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UAPITestManager::ListFleets_Response(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
|
|
|
|
|
{
|
2026-03-30 05:10:02 -04:00
|
|
|
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, "List Fleets Response Received");
|
|
|
|
|
|
|
|
|
|
TSharedPtr<FJsonObject> JsonObject;
|
|
|
|
|
TSharedRef<TJsonReader<>> JsonReader = TJsonReaderFactory<>::Create(Response->GetContentAsString());
|
|
|
|
|
|
|
|
|
|
if (FJsonSerializer::Deserialize(JsonReader, JsonObject))
|
|
|
|
|
{
|
2026-03-30 06:57:00 -04:00
|
|
|
if (JsonObject->HasField(TEXT("$metadata")))
|
2026-03-30 05:10:02 -04:00
|
|
|
{
|
2026-03-30 06:57:00 -04:00
|
|
|
TSharedPtr<FJsonObject> MetaDataJsonObject = JsonObject->GetObjectField(TEXT("$metadata"));
|
|
|
|
|
FDSMetaData DSMetaData;
|
|
|
|
|
FJsonObjectConverter::JsonObjectToUStruct(MetaDataJsonObject.ToSharedRef(), &DSMetaData);
|
|
|
|
|
|
|
|
|
|
DSMetaData.Dump();
|
2026-03-30 05:10:02 -04:00
|
|
|
}
|
|
|
|
|
|
2026-03-30 07:18:27 -04:00
|
|
|
FDSListFleetsResponse ListFleetsResponse;
|
|
|
|
|
FJsonObjectConverter::JsonObjectToUStruct(JsonObject.ToSharedRef(), &ListFleetsResponse);
|
|
|
|
|
ListFleetsResponse.Dump();
|
|
|
|
|
}
|
2026-03-29 07:54:19 -04:00
|
|
|
}
|