Lesson 65 - ListFleets Callback
This commit is contained in:
@@ -10,22 +10,16 @@
|
||||
#include "Interfaces/IHttpResponse.h"
|
||||
#include "UI/HTTP/HTTPRequestTypes.h"
|
||||
|
||||
void UAPITestManager::ListFleetsButtonClicked()
|
||||
void UAPITestManager::ListFleets()
|
||||
{
|
||||
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)
|
||||
@@ -39,33 +33,16 @@ void UAPITestManager::ListFleets_Response(FHttpRequestPtr Request, FHttpResponse
|
||||
{
|
||||
const TSharedPtr<FJsonObject>* ErrorObjPtr = nullptr;;
|
||||
|
||||
if (JsonObject->HasField(TEXT("errorType")) || JsonObject->HasField(TEXT("errorMessage")))
|
||||
if (ContainsErrors(JsonObject, false))
|
||||
{
|
||||
FString ErrorType = JsonObject->HasField(TEXT("errorType")) ? JsonObject->GetStringField(TEXT("errorType")) : TEXT("Unknown Error");
|
||||
FString ErrorMessage = JsonObject->HasField(TEXT("errorMessage")) ? JsonObject->GetStringField(TEXT("errorMessage")) : TEXT("Unknown Error Message");
|
||||
|
||||
UE_LOGFMT(LogDedicatedServers, Error, "Error Type: {ErrorType}", ErrorType);
|
||||
UE_LOGFMT(LogDedicatedServers, Error, "Error Message: {ErrorMessage}", ErrorMessage);
|
||||
OnListFleetsResponseReceived.Broadcast(FDS_ListFleetsResponse(), false);
|
||||
return;
|
||||
}
|
||||
if (JsonObject->HasField(TEXT("$fault")))
|
||||
{
|
||||
FString ErrorType = JsonObject->HasField(TEXT("name")) ? JsonObject->GetStringField(TEXT("name")) : TEXT("Unknown Error");
|
||||
UE_LOGFMT(LogDedicatedServers, Error, "Error Type: {ErrorType}", ErrorType);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (JsonObject->HasField(TEXT("$metadata")))
|
||||
{
|
||||
TSharedPtr<FJsonObject> MetaDataJsonObject = JsonObject->GetObjectField(TEXT("$metadata"));
|
||||
FDS_MetaData DSMetaData;
|
||||
FJsonObjectConverter::JsonObjectToUStruct(MetaDataJsonObject.ToSharedRef(), &DSMetaData);
|
||||
DSMetaData.Dump();
|
||||
}
|
||||
|
||||
DumpMetaData(JsonObject);
|
||||
|
||||
FDS_ListFleetsResponse ListFleetsResponse;
|
||||
FJsonObjectConverter::JsonObjectToUStruct(JsonObject.ToSharedRef(), &ListFleetsResponse);
|
||||
ListFleetsResponse.Dump();
|
||||
OnListFleetsResponseReceived.Broadcast(ListFleetsResponse, true);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user