Files
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

44 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Interfaces/IHttpRequest.h"
const TCHAR* LexToString(EHttpRequestMode Mode)
{
switch (Mode)
{
case EHttpRequestMode::ThreadedRequest: return TEXT("ThreadedRequest");
case EHttpRequestMode::ImmediateRequest: return TEXT("ImmediateRequest");
default:
checkf(false, TEXT("Please, implement new modes here"));
return TEXT("Unknown");
}
}
class FArchiveWithDelegateV2 final : public FArchive
{
public:
FArchiveWithDelegateV2(FHttpRequestStreamDelegateV2 InStreamDelegateV2)
: StreamDelegateV2(InStreamDelegateV2)
{
}
virtual void Serialize(void* V, int64 Length) override
{
int64 LengthProcessed = Length;
StreamDelegateV2.ExecuteIfBound(V, LengthProcessed);
if (LengthProcessed != Length)
{
SetError();
}
}
private:
FHttpRequestStreamDelegateV2 StreamDelegateV2;
};
bool IHttpRequest::SetResponseBodyReceiveStreamDelegateV2(FHttpRequestStreamDelegateV2 StreamDelegate)
{
return SetResponseBodyReceiveStream(MakeShared<FArchiveWithDelegateV2>(StreamDelegate));
}