UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FHttpRetrySystem::FRequest Class Reference

#include <HttpRetrySystem.h>

+ Inheritance diagram for FHttpRetrySystem::FRequest:

Classes

struct  EStatus
 

Public Member Functions

virtual HTTP_API bool ProcessRequest () override
 
virtual HTTP_API void CancelRequest () override
 
EStatus::Type GetRetryStatus () const
 
- Public Member Functions inherited from FHttpRequestAdapterBase
HTTP_API FHttpRequestAdapterBase (const TSharedRef< IHttpRequest > &InHttpRequest)
 
HTTP_API ~FHttpRequestAdapterBase ()
 
virtual HTTP_API const FString & GetURL () const override
 
virtual HTTP_API FString GetURLParameter (const FString &ParameterName) const override
 
virtual HTTP_API FString GetHeader (const FString &HeaderName) const override
 
virtual HTTP_API TArray< FString > GetAllHeaders () const override
 
virtual HTTP_API FString GetContentType () const override
 
virtual HTTP_API uint64 GetContentLength () const override
 
virtual HTTP_API const TArray< uint8 > & GetContent () const override
 
virtual HTTP_API FString GetVerb () const override
 
virtual HTTP_API FString GetOption (const FName Option) const override
 
virtual HTTP_API void SetVerb (const FString &Verb) override
 
virtual HTTP_API void SetURL (const FString &URL) override
 
virtual HTTP_API void SetOption (const FName Option, const FString &OptionValue) override
 
virtual HTTP_API void SetContent (const TArray< uint8 > &ContentPayload) override
 
virtual HTTP_API void SetContent (TArray< uint8 > &&ContentPayload) override
 
virtual HTTP_API void SetContentAsString (const FString &ContentString) override
 
virtual HTTP_API bool SetContentAsStreamedFile (const FString &Filename) override
 
virtual HTTP_API bool SetContentFromStream (TSharedRef< FArchive, ESPMode::ThreadSafe > Stream) override
 
virtual HTTP_API bool SetResponseBodyReceiveStream (TSharedRef< FArchive > Stream) override
 
virtual HTTP_API void SetHeader (const FString &HeaderName, const FString &HeaderValue) override
 
virtual HTTP_API void AppendToHeader (const FString &HeaderName, const FString &AdditionalHeaderValue) override
 
virtual HTTP_API void SetTimeout (float InTimeoutSecs) override
 
virtual HTTP_API void ClearTimeout () override
 
virtual HTTP_API void ResetTimeoutStatus () override
 
virtual HTTP_API TOptional< floatGetTimeout () const override
 
virtual HTTP_API void SetActivityTimeout (float InTimeoutSecs) override
 
virtual HTTP_API void ProcessRequestUntilComplete () override
 
virtual HTTP_API const FHttpResponsePtr GetResponse () const override
 
virtual HTTP_API float GetElapsedTime () const override
 
virtual HTTP_API EHttpRequestStatus::Type GetStatus () const override
 
virtual HTTP_API EHttpFailureReason GetFailureReason () const override
 
virtual HTTP_API const FString & GetEffectiveURL () const override
 
virtual HTTP_API void Tick (float DeltaSeconds) override
 
virtual HTTP_API void SetDelegateThreadPolicy (EHttpRequestDelegateThreadPolicy InThreadPolicy) override
 
virtual HTTP_API EHttpRequestDelegateThreadPolicy GetDelegateThreadPolicy () const override
 
virtual HTTP_API void SetPriority (EHttpRequestPriority InPriority) override
 
virtual HTTP_API EHttpRequestPriority GetPriority () const override
 
- Public Member Functions inherited from FHttpRequestImpl
virtual HTTP_API FHttpRequestCompleteDelegateOnProcessRequestComplete () override
 
virtual HTTP_API FHttpRequestProgressDelegate64OnRequestProgress64 () override
 
virtual HTTP_API FHttpRequestStatusCodeReceivedDelegateOnStatusCodeReceived () override
 
virtual HTTP_API FHttpRequestHeaderReceivedDelegateOnHeaderReceived () override
 
virtual HTTP_API FHttpRequestWillRetryDelegateOnRequestWillRetry () override
 
virtual HTTP_API void Shutdown ()
 
- Public Member Functions inherited from IHttpRequest
HTTP_API bool SetResponseBodyReceiveStreamDelegateV2 (FHttpRequestStreamDelegateV2 StreamDelegate)
 
virtual ~IHttpRequest ()=default
 
- Public Member Functions inherited from IHttpBase
virtual ~IHttpBase ()=default
 
- Public Member Functions inherited from TSharedFromThis< IHttpRequest, ESPMode::ThreadSafe >
TSharedRef< IHttpRequest, Mode > AsShared ()
 
TSharedRef< IHttpRequest const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< IHttpRequest, Mode > AsWeak ()
 
TWeakPtr< IHttpRequest const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 

Protected Member Functions

HTTP_API FRequest (TSharedRef< FManager > InManager, const TSharedRef< IHttpRequest > &HttpRequest, const FRetryLimitCountSetting &InRetryLimitCountOverride=FRetryLimitCountSetting(), const FRetryTimeoutRelativeSecondsSetting &InRetryTimeoutRelativeSecondsOverride=FRetryTimeoutRelativeSecondsSetting(), const FRetryResponseCodes &InRetryResponseCodes=FRetryResponseCodes(), const FRetryVerbs &InRetryVerbs=FRetryVerbs(), const FRetryDomainsPtr &InRetryDomains=FRetryDomainsPtr(), const FRetryLimitCountSetting &InRetryLimitCountForConnectionErrorOverride=FRetryLimitCountSetting(), const FExponentialBackoffCurve &InExponentialBackoffCurve=FExponentialBackoffCurve())
 
void HttpOnRequestProgress (FHttpRequestPtr InHttpRequest, uint64 BytesSent, uint64 BytesRcv)
 
void HttpOnProcessRequestComplete (FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded)
 
void HttpOnStatusCodeReceived (FHttpRequestPtr Request, int32 StatusCode)
 
void HttpOnHeaderReceived (FHttpRequestPtr Request, const FString &HeaderName, const FString &NewHeaderValue)
 
void SetUrlFromRetryDomains ()
 
void MoveToNextRetryDomain ()
 
void BindAdaptorDelegates ()
 
- Protected Member Functions inherited from FHttpRequestImpl
HTTP_API void BroadcastResponseHeadersReceived ()
 
- Protected Member Functions inherited from TSharedFromThis< IHttpRequest, ESPMode::ThreadSafe >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 

Protected Attributes

EStatus::Type RetryStatus
 
FRetryLimitCountSetting RetryLimitCountOverride
 
FRetryLimitCountSetting RetryLimitCountForConnectionErrorOverride
 
FRetryTimeoutRelativeSecondsSetting RetryTimeoutRelativeSecondsOverride
 
FRetryResponseCodes RetryResponseCodes
 
FRetryVerbs RetryVerbs
 
FRetryDomainsPtr RetryDomains
 
int32 RetryDomainsIndex = 0
 
FString OriginalUrl
 
TWeakPtr< FManagerRetryManager
 
FHttpResponsePtr LastResponse
 
bool bLastSucceeded = false
 
FExponentialBackoffCurve RetryExponentialBackoffCurve
 
bool bBoundAdaptorDelegates = false
 
- Protected Attributes inherited from FHttpRequestAdapterBase
TSharedRef< IHttpRequestHttpRequest
 
- Protected Attributes inherited from FHttpRequestImpl
FHttpRequestCompleteDelegate RequestCompleteDelegate
 
FHttpRequestProgressDelegate64 RequestProgressDelegate64
 
FHttpRequestStatusCodeReceivedDelegate StatusCodeReceivedDelegate
 
FHttpRequestHeaderReceivedDelegate HeaderReceivedDelegate
 
FHttpRequestWillRetryDelegate OnRequestWillRetryDelegate
 

Friends

class FManager
 

Additional Inherited Members

- Static Protected Member Functions inherited from TSharedFromThis< IHttpRequest, ESPMode::ThreadSafe >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Detailed Description

class FRequest is what the retry system accepts as inputs

Constructor & Destructor Documentation

◆ FRequest()

HTTP_API FHttpRetrySystem::FRequest::FRequest ( TSharedRef< FManager InManager,
const TSharedRef< IHttpRequest > &  HttpRequest,
const FRetryLimitCountSetting InRetryLimitCountOverride = FRetryLimitCountSetting(),
const FRetryTimeoutRelativeSecondsSetting InRetryTimeoutRelativeSecondsOverride = FRetryTimeoutRelativeSecondsSetting(),
const FRetryResponseCodes InRetryResponseCodes = FRetryResponseCodes(),
const FRetryVerbs InRetryVerbs = FRetryVerbs(),
const FRetryDomainsPtr InRetryDomains = FRetryDomainsPtr(),
const FRetryLimitCountSetting InRetryLimitCountForConnectionErrorOverride = FRetryLimitCountSetting(),
const FExponentialBackoffCurve InExponentialBackoffCurve = FExponentialBackoffCurve() 
)
protected

Member Function Documentation

◆ BindAdaptorDelegates()

void FHttpRetrySystem::FRequest::BindAdaptorDelegates ( )
protected

◆ CancelRequest()

void FHttpRetrySystem::FRequest::CancelRequest ( )
overridevirtual

Called to cancel a request that is still being processed

Implements IHttpRequest.

◆ GetRetryStatus()

EStatus::Type FHttpRetrySystem::FRequest::GetRetryStatus ( ) const
inline

◆ HttpOnHeaderReceived()

void FHttpRetrySystem::FRequest::HttpOnHeaderReceived ( FHttpRequestPtr  Request,
const FString &  HeaderName,
const FString &  NewHeaderValue 
)
protected

◆ HttpOnProcessRequestComplete()

void FHttpRetrySystem::FRequest::HttpOnProcessRequestComplete ( FHttpRequestPtr  HttpRequest,
FHttpResponsePtr  HttpResponse,
bool  bSucceeded 
)
protected

◆ HttpOnRequestProgress()

void FHttpRetrySystem::FRequest::HttpOnRequestProgress ( FHttpRequestPtr  InHttpRequest,
uint64  BytesSent,
uint64  BytesRcv 
)
protected

◆ HttpOnStatusCodeReceived()

void FHttpRetrySystem::FRequest::HttpOnStatusCodeReceived ( FHttpRequestPtr  Request,
int32  StatusCode 
)
protected

◆ MoveToNextRetryDomain()

void FHttpRetrySystem::FRequest::MoveToNextRetryDomain ( )
protected

Move to the next retry domain from our RetryDomains

◆ ProcessRequest()

bool FHttpRetrySystem::FRequest::ProcessRequest ( )
overridevirtual

Called to begin processing the request. OnProcessRequestComplete delegate is always called when the request completes or on error if it is bound. A request can be re-used but not while still being processed.

Returns
if the request was successfully started.

Implements IHttpRequest.

◆ SetUrlFromRetryDomains()

void FHttpRetrySystem::FRequest::SetUrlFromRetryDomains ( )
protected

Update our HTTP request's URL's domain from our RetryDomains

Friends And Related Symbol Documentation

◆ FManager

friend class FManager
friend

Member Data Documentation

◆ bBoundAdaptorDelegates

bool FHttpRetrySystem::FRequest::bBoundAdaptorDelegates = false
protected

◆ bLastSucceeded

bool FHttpRetrySystem::FRequest::bLastSucceeded = false
protected

◆ LastResponse

FHttpResponsePtr FHttpRetrySystem::FRequest::LastResponse
protected

Save the last response before the retry

◆ OriginalUrl

FString FHttpRetrySystem::FRequest::OriginalUrl
protected

The original URL before replacing anything from RetryDomains

◆ RetryDomains

FRetryDomainsPtr FHttpRetrySystem::FRequest::RetryDomains
protected

◆ RetryDomainsIndex

int32 FHttpRetrySystem::FRequest::RetryDomainsIndex = 0
protected

The current index in RetryDomains we are attempting

◆ RetryExponentialBackoffCurve

FExponentialBackoffCurve FHttpRetrySystem::FRequest::RetryExponentialBackoffCurve
protected

Exponential backoff curve

◆ RetryLimitCountForConnectionErrorOverride

FRetryLimitCountSetting FHttpRetrySystem::FRequest::RetryLimitCountForConnectionErrorOverride
protected

◆ RetryLimitCountOverride

FRetryLimitCountSetting FHttpRetrySystem::FRequest::RetryLimitCountOverride
protected

◆ RetryManager

TWeakPtr<FManager> FHttpRetrySystem::FRequest::RetryManager
protected

◆ RetryResponseCodes

FRetryResponseCodes FHttpRetrySystem::FRequest::RetryResponseCodes
protected

◆ RetryStatus

EStatus::Type FHttpRetrySystem::FRequest::RetryStatus
protected

◆ RetryTimeoutRelativeSecondsOverride

FRetryTimeoutRelativeSecondsSetting FHttpRetrySystem::FRequest::RetryTimeoutRelativeSecondsOverride
protected

◆ RetryVerbs

FRetryVerbs FHttpRetrySystem::FRequest::RetryVerbs
protected

The documentation for this class was generated from the following files: