Lesson 60 - Making an HTTP Request

This commit is contained in:
Norman Lansing
2026-03-15 21:46:18 -04:00
parent d989960b41
commit 3912fe52c6
3 changed files with 27 additions and 2 deletions

View File

@@ -15,7 +15,8 @@ public class DedicatedServers : ModuleRules
"Core", "Core",
"CoreUObject", "CoreUObject",
"Engine", "Engine",
"GameplayTags" "GameplayTags",
"HTTP"
}); });
PrivateDependencyModuleNames.AddRange(new string[] PrivateDependencyModuleNames.AddRange(new string[]

View File

@@ -2,8 +2,29 @@
#include "UI/API_Test/APITestManager.h" #include "UI/API_Test/APITestManager.h"
#include "HttpModule.h"
#include "Data/API/APIData.h"
#include "GameplayTags/DedicatedServersTags.h"
void UAPITestManager::ListFleetsButtonClicked() void UAPITestManager::ListFleetsButtonClicked()
{ {
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, "List Fleets Button Clicked"); check(APIData);
TSharedRef<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(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");
} }

View File

@@ -3,6 +3,7 @@
#pragma once #pragma once
#include "CoreMinimal.h" #include "CoreMinimal.h"
#include "Interfaces/IHttpRequest.h"
#include "UI/HTTP/HTTPRequestManager.h" #include "UI/HTTP/HTTPRequestManager.h"
#include "APITestManager.generated.h" #include "APITestManager.generated.h"
@@ -18,4 +19,6 @@ public:
UFUNCTION() UFUNCTION()
void ListFleetsButtonClicked(); void ListFleetsButtonClicked();
void ListFleets_Response(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
}; };