UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IHttpRequest.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7
8class IHttpRequest;
9class IHttpResponse;
10
19
25{
26 Lowest = 0,
27 Low,
28 Normal,
29 High,
31};
32
33class IHttpRequest;
34class IHttpResponse;
35
38
41
55using FHttpRequestCompleteDelegate = TTSDelegate<void(FHttpRequestPtr /*Request*/, FHttpResponsePtr /*Response*/, bool /*bProcessedSuccessfully*/)>;
56
64
72using FHttpRequestHeaderReceivedDelegate = TTSDelegate<void(FHttpRequestPtr /*Request*/, const FString& /*HeaderName*/, const FString& /*NewHeaderValue*/)>;
73
81using FHttpRequestProgressDelegate = TTSDelegate<void(FHttpRequestPtr /*Request*/, int32 /*BytesSent*/, int32 /*BytesReceived*/)>;
82
90using FHttpRequestProgressDelegate64 = TTSDelegate<void(FHttpRequestPtr /*Request*/, uint64 /*BytesSent*/, uint64 /*BytesReceived*/)>;
91
99using FHttpRequestWillRetryDelegate = TTSDelegate<void(FHttpRequestPtr /*Request*/, FHttpResponsePtr /*Response*/, float /*SecondsToRetry*/)>;
100
108using FHttpRequestStreamDelegate = TTSDelegate<bool(void*/*Ptr*/, int64/*Length*/)>;
109
116using FHttpRequestStreamDelegateV2 = TTSDelegate<void(void*/*Ptr*/, int64&/*InOutLength*/)>;
117
121class UE_DEPRECATED(5.5, "FArchiveWithDelegate is deprecated and will be moved to internal") FArchiveWithDelegate final : public FArchive
122{
123public:
126 {
127 }
128
129 virtual void Serialize(void* V, int64 Length) override
130 {
131 if (!StreamDelegate.IsBound() || !StreamDelegate.Execute(V, Length))
132 {
133 SetError();
134 }
135 }
136
137private:
139};
140
145{
146 static const FName HttpVersion("HttpVersion");
147 static const FName RequestMode("RequestMode");
148#if UE_HTTP_SUPPORT_UNIX_SOCKET
149 static const FName UnixSocketPath("UnixSocketPath");
150#endif //UE_HTTP_SUPPORT_UNIX_SOCKET
151}
152
163
165
170 public IHttpBase, public TSharedFromThis<IHttpRequest, ESPMode::ThreadSafe>
171{
172public:
173
179 virtual FString GetVerb() const = 0;
180
189 virtual void SetVerb(const FString& Verb) = 0;
190
198 virtual void SetURL(const FString& URL) = 0;
199
205 virtual FString GetOption(const FName Option) const = 0;
206
214 virtual void SetOption(const FName Option, const FString& OptionValue) = 0;
215
222 virtual void SetContent(const TArray<uint8>& ContentPayload) = 0;
223
233
239 virtual void SetContentAsString(const FString& ContentString) = 0;
240
247 virtual bool SetContentAsStreamedFile(const FString& Filename) = 0;
248
257
271
284
296 virtual void SetHeader(const FString& HeaderName, const FString& HeaderValue) = 0;
297
309 virtual void AppendToHeader(const FString& HeaderName, const FString& AdditionalHeaderValue) = 0;
310
317 virtual void SetTimeout(float InTimeoutSecs) = 0;
318
327 virtual void SetActivityTimeout(float InTimeoutSecs) = 0;
328
333 virtual void ClearTimeout() = 0;
334
338 virtual void ResetTimeoutStatus() = 0;
339
346 virtual TOptional<float> GetTimeout() const = 0;
347
355 virtual bool ProcessRequest() = 0;
356
361
366
371
376
381
385 virtual void CancelRequest() = 0;
386
392 virtual const FHttpResponsePtr GetResponse() const = 0;
393
399 virtual void Tick(float DeltaSeconds) = 0;
400
406 virtual float GetElapsedTime() const = 0;
407
419
426
438 virtual void ProcessRequestUntilComplete() = 0;
439
446
453
457 virtual ~IHttpRequest() = default;
458};
459
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EHttpRequestMode
Definition IHttpRequest.h:157
TSharedPtr< IHttpResponse, ESPMode::ThreadSafe > FHttpResponsePtr
Definition IHttpRequest.h:37
EHttpRequestPriority
Definition IHttpRequest.h:25
EHttpRequestDelegateThreadPolicy
Definition IHttpRequest.h:15
TSharedRef< IHttpRequest, ESPMode::ThreadSafe > FHttpRequestRef
Definition IHttpRequest.h:39
HTTP_API const TCHAR * LexToString(EHttpRequestMode Mode)
Definition IHttpRequest.cpp:5
TSharedRef< IHttpResponse, ESPMode::ThreadSafe > FHttpResponseRef
Definition IHttpRequest.h:40
TSharedPtr< IHttpRequest, ESPMode::ThreadSafe > FHttpRequestPtr
Definition IHttpRequest.h:36
const bool
Definition NetworkReplayStreaming.h:178
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Archive.h:1208
CORE_API void SetError()
Definition Archive.cpp:314
Definition NameTypes.h:617
Definition IHttpBase.h:90
Definition IHttpRequest.h:171
HTTP_API bool SetResponseBodyReceiveStreamDelegateV2(FHttpRequestStreamDelegateV2 StreamDelegate)
Definition IHttpRequest.cpp:40
virtual FString GetOption(const FName Option) const =0
virtual void SetPriority(EHttpRequestPriority InPriority)=0
virtual void ClearTimeout()=0
virtual void SetVerb(const FString &Verb)=0
virtual ~IHttpRequest()=default
virtual FHttpRequestHeaderReceivedDelegate & OnHeaderReceived()=0
virtual void SetContentAsString(const FString &ContentString)=0
virtual void CancelRequest()=0
virtual EHttpRequestPriority GetPriority() const =0
virtual FHttpRequestCompleteDelegate & OnProcessRequestComplete()=0
virtual const FHttpResponsePtr GetResponse() const =0
virtual bool ProcessRequest()=0
virtual void Tick(float DeltaSeconds)=0
virtual void AppendToHeader(const FString &HeaderName, const FString &AdditionalHeaderValue)=0
virtual void SetTimeout(float InTimeoutSecs)=0
virtual bool SetResponseBodyReceiveStream(TSharedRef< FArchive > Stream)=0
virtual void SetContent(TArray< uint8 > &&ContentPayload)=0
virtual float GetElapsedTime() const =0
virtual bool SetContentFromStream(TSharedRef< FArchive, ESPMode::ThreadSafe > Stream)=0
virtual bool SetContentAsStreamedFile(const FString &Filename)=0
virtual void SetURL(const FString &URL)=0
virtual void SetActivityTimeout(float InTimeoutSecs)=0
virtual void SetHeader(const FString &HeaderName, const FString &HeaderValue)=0
virtual void ResetTimeoutStatus()=0
virtual EHttpRequestDelegateThreadPolicy GetDelegateThreadPolicy() const =0
virtual void SetContent(const TArray< uint8 > &ContentPayload)=0
virtual TOptional< float > GetTimeout() const =0
virtual void SetDelegateThreadPolicy(EHttpRequestDelegateThreadPolicy InThreadPolicy)=0
virtual FString GetVerb() const =0
virtual FHttpRequestProgressDelegate64 & OnRequestProgress64()=0
virtual FHttpRequestWillRetryDelegate & OnRequestWillRetry()=0
virtual void ProcessRequestUntilComplete()=0
virtual void SetOption(const FName Option, const FString &OptionValue)=0
virtual FHttpRequestStatusCodeReceivedDelegate & OnStatusCodeReceived()=0
Definition IHttpResponse.h:111
Definition Array.h:670
Definition DelegateSignatureImpl.inl:310
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition IHttpRequest.h:145
Definition HttpServerHttpVersion.h:7
Definition Optional.h:131