2026-03-29 07:54:19 -04:00
|
|
|
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "UI/HTTP/HTTPRequestManager.h"
|
2026-03-30 17:30:24 -04:00
|
|
|
|
|
|
|
|
#include "JsonObjectConverter.h"
|
|
|
|
|
#include "DedicatedServers/DedicatedServers.h"
|
|
|
|
|
#include "UI/HTTP/HTTPRequestTypes.h"
|
|
|
|
|
|
|
|
|
|
bool UHTTPRequestManager::ContainsErrors(TSharedPtr<FJsonObject> JsonObject, bool bLogErrors)
|
|
|
|
|
{
|
|
|
|
|
if (JsonObject->HasField(TEXT("errorType")) || JsonObject->HasField(TEXT("errorMessage")))
|
|
|
|
|
{
|
|
|
|
|
FString ErrorType = JsonObject->HasField(TEXT("errorType")) ? JsonObject->GetStringField(TEXT("errorType")) : FString("Unknown Error");
|
|
|
|
|
FString ErrorMessage = JsonObject->HasField(TEXT("errorMessage")) ? JsonObject->GetStringField(TEXT("errorMessage")) : FString("Unknown Error Message");
|
|
|
|
|
|
|
|
|
|
if (bLogErrors)
|
|
|
|
|
{
|
|
|
|
|
UE_LOGFMT(LogDedicatedServers, Error, "Error Type: {ErrorType}", ErrorType);
|
|
|
|
|
UE_LOGFMT(LogDedicatedServers, Error, "Error Message: {ErrorMessage}", ErrorMessage);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (JsonObject->HasField(TEXT("$fault")))
|
|
|
|
|
{
|
|
|
|
|
FString ErrorType = JsonObject->HasField(TEXT("name")) ? JsonObject->GetStringField(TEXT("name")) : FString("Unknown Error");
|
|
|
|
|
|
|
|
|
|
if (bLogErrors)
|
|
|
|
|
{
|
|
|
|
|
UE_LOGFMT(LogDedicatedServers, Error, "Error Type: {ErrorType}", ErrorType);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UHTTPRequestManager::DumpMetadata(TSharedPtr<FJsonObject> JsonObject)
|
|
|
|
|
{
|
|
|
|
|
if (JsonObject->HasField(TEXT("$metadata")))
|
|
|
|
|
{
|
|
|
|
|
TSharedPtr<FJsonObject> MetaDataJsonObject = JsonObject->GetObjectField(TEXT("$metadata"));
|
|
|
|
|
FDSMetaData DSMetaData;
|
|
|
|
|
FJsonObjectConverter::JsonObjectToUStruct(MetaDataJsonObject.ToSharedRef(), &DSMetaData);
|
|
|
|
|
|
|
|
|
|
DSMetaData.Dump();
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-04-05 17:07:48 -04:00
|
|
|
|
|
|
|
|
FString UHTTPRequestManager::SerializeJsonContent(const TMap<FString, FString>& Params)
|
|
|
|
|
{
|
|
|
|
|
TSharedPtr<FJsonObject> ContentJsonObject = MakeShareable(new FJsonObject);
|
|
|
|
|
|
|
|
|
|
for (auto Param : Params)
|
|
|
|
|
{
|
|
|
|
|
ContentJsonObject->SetStringField(Param.Key, Param.Value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FString Content;
|
|
|
|
|
TSharedRef<TJsonWriter<>> JsonWriter = TJsonWriterFactory<>::Create(&Content);
|
|
|
|
|
FJsonSerializer::Serialize(ContentJsonObject.ToSharedRef(), JsonWriter);
|
|
|
|
|
|
|
|
|
|
return Content;
|
|
|
|
|
}
|