// Fill out your copyright notice in the Description page of Project Settings. #include "UI/API_Test/APITestManager.h" #include "HttpModule.h" #include "Data/API/APIData.h" #include "GameplayTags/DedicatedServersTags.h" #include "Interfaces/IHttpResponse.h" void UAPITestManager::ListFleetsButtonClicked() { check(APIData); TSharedRef Request = FHttpModule::Get().CreateRequest(); Request->OnProcessRequestComplete().BindUObject(this, &UAPITestManager::ListFleets_Response); const FString APIUrl = APIData->GetAPIEndpoint(DedicatedServersTags::GameSessionsAPI::ListFleets); Request->SetURL(APIUrl); Request->SetVerb(TEXT("GET")); Request->SetHeader(TEXT("Content-Type"), TEXT("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) { GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, "List Fleets Response Received"); TSharedPtr JsonObject; TSharedRef> JsonReader = TJsonReaderFactory<>::Create(Response->GetContentAsString()); if (FJsonSerializer::Deserialize(JsonReader, JsonObject)) { if (JsonObject->HasField(TEXT("FleetIds"))) { for (TSharedPtr Fleet :JsonObject->GetArrayField(TEXT("FleetIds"))) { FString FleetString = Fleet->AsString(); GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, FleetString); } } } }