From 3912fe52c64800cbca40db34a374c558cf386512 Mon Sep 17 00:00:00 2001 From: Norman Lansing Date: Sun, 15 Mar 2026 21:46:18 -0400 Subject: [PATCH] Lesson 60 - Making an HTTP Request --- .../DedicatedServers.Build.cs | 3 ++- .../Private/UI/API_Test/APITestManager.cpp | 23 ++++++++++++++++++- .../Public/UI/API_Test/APITestManager.h | 3 +++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Source/DedicatedServers/DedicatedServers.Build.cs b/Source/DedicatedServers/DedicatedServers.Build.cs index 2c2bbbe8..fbec5779 100644 --- a/Source/DedicatedServers/DedicatedServers.Build.cs +++ b/Source/DedicatedServers/DedicatedServers.Build.cs @@ -15,7 +15,8 @@ public class DedicatedServers : ModuleRules "Core", "CoreUObject", "Engine", - "GameplayTags" + "GameplayTags", + "HTTP" }); PrivateDependencyModuleNames.AddRange(new string[] diff --git a/Source/DedicatedServers/Private/UI/API_Test/APITestManager.cpp b/Source/DedicatedServers/Private/UI/API_Test/APITestManager.cpp index afd5c26f..56a81cd8 100644 --- a/Source/DedicatedServers/Private/UI/API_Test/APITestManager.cpp +++ b/Source/DedicatedServers/Private/UI/API_Test/APITestManager.cpp @@ -2,8 +2,29 @@ #include "UI/API_Test/APITestManager.h" +#include "HttpModule.h" +#include "Data/API/APIData.h" +#include "GameplayTags/DedicatedServersTags.h" void UAPITestManager::ListFleetsButtonClicked() { - GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, "List Fleets Button Clicked"); + 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"); } diff --git a/Source/DedicatedServers/Public/UI/API_Test/APITestManager.h b/Source/DedicatedServers/Public/UI/API_Test/APITestManager.h index 3e473400..8ed458f5 100644 --- a/Source/DedicatedServers/Public/UI/API_Test/APITestManager.h +++ b/Source/DedicatedServers/Public/UI/API_Test/APITestManager.h @@ -3,6 +3,7 @@ #pragma once #include "CoreMinimal.h" +#include "Interfaces/IHttpRequest.h" #include "UI/HTTP/HTTPRequestManager.h" #include "APITestManager.generated.h" @@ -18,4 +19,6 @@ public: UFUNCTION() void ListFleetsButtonClicked(); + + void ListFleets_Response(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful); };