22 #define UE_LOG_CATEGORY_TYPE FLogCategoryBase
24 #define UE_LOG_CATEGORY_TYPE FNoLoggingCategory
30namespace HTTP {
class FTicketStatus; }
40 return StatusCode >= 200 && StatusCode < 300;
46 return StatusCode >= 500 && StatusCode < 600;
161 FHttpConnectionPools Pools;
173 FConnection& Connection;
182 FString ResponseMessage;
188 bool bIsChunkedTransfer =
false;
189 int8 CDNCacheStatus = -1;
197 FMultiEndpointHttpClient(
const FMultiEndpointHttpClientConfig& Config);
201 void RetryRequest(FRequest&& Request);
206 FConnection& GetConnection(
const FOnDemandHostGroup& HostGroup);
207 FConnection* FindConnection(
const FOnDemandHostGroup& HostGroup);
209 uint32 GetRetryLimitForRequest(
const FRequest& Request)
const;
211 void Log(
const FRequest& Request,
const HTTP::FTicketStatus&
TicketStatus)
const;
213 FMultiEndpointHttpClientConfig Config;
220 bool bCancelRequested =
false;
230#undef UE_LOG_CATEGORY_TYPE
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define UE_LOG_CATEGORY_TYPE
Definition OnDemandHttpClient.h:22
Definition EventLoop.Build.cs:6
Definition HTTP.Build.cs:6
Definition IoStatus.h:101
Definition UnrealString.h.inl:34
Definition ContainerAllocationPolicies.h:894
Definition UniquePtr.h:107
Definition RecursiveMutex.h:19
Definition OnDemandHttpClient.h:118
UE_NONCOPYABLE(FMultiEndpointHttpClient)
bool Tick()
Definition OnDemandHttpClient.h:146
TFunction< void(FMultiEndpointHttpClientResponse &&)> FOnHttpResponse
Definition OnDemandHttpClient.h:123
static TIoStatusOr< FMultiEndpointHttpClientResponse > Get(FAnsiStringView Url, const FMultiEndpointHttpClientConfig &Config)
Definition OnDemandHttpClient.cpp:182
~FMultiEndpointHttpClient()
Definition OnDemandHttpClient.cpp:171
void CancelRequest(FHttpTicketId TicketId)
Definition OnDemandHttpClient.cpp:313
uint32 FHttpTicketId
Definition OnDemandHttpClient.h:122
void UpdateConnections()
Definition OnDemandHttpClient.cpp:340
Definition OnDemandHostGroup.h:18
Type
Definition LogVerbosity.h:17
@ Log
Definition LogVerbosity.h:40
uint64 FTicket
Definition Client.h:57
NO_LOGGING.
Definition Client.h:20
FIoStatus LoadDefaultHttpCertificates(bool &bWasLoaded)
Definition OnDemandHttpClient.cpp:83
bool IsHttpServerError(uint32 StatusCode)
Definition OnDemandHttpClient.h:44
EHttpRedirects
Definition OnDemandHttpClient.h:50
FIoBuffer JoinIoBuffers(const FIoBuffer &LHS, const FIoBuffer &RHS)
Definition OnDemandHttpClient.cpp:44
bool IsHttpStatusOk(uint32 StatusCode)
Definition OnDemandHttpClient.h:38
EMultiEndpointRequestFlags
Definition OnDemandHttpClient.h:77
Definition IoOffsetLength.h:12
Definition OnDemandHttpClient.h:58
bool bAllowChunkedTransfer
Definition OnDemandHttpClient.h:68
int32 TimeoutMs
Definition OnDemandHttpClient.h:65
EHttpRedirects Redirects
Definition OnDemandHttpClient.h:66
bool bEnableThreadSafetyChecks
Definition OnDemandHttpClient.h:67
ELogVerbosity::Type LogVerbosity
Definition OnDemandHttpClient.h:73
int32 MaxRetryCount
Definition OnDemandHttpClient.h:62
int32 SendBufferSize
Definition OnDemandHttpClient.h:61
int32 ReceiveBufferSize
Definition OnDemandHttpClient.h:60
int32 MaxConnectionCount
Definition OnDemandHttpClient.h:59
bool bResponseBodyOnError
Definition OnDemandHttpClient.h:70
const UE_LOG_CATEGORY_TYPE * LogCategory
Definition OnDemandHttpClient.h:72
Definition OnDemandHttpClient.h:84
int32 HostIndex
Definition OnDemandHttpClient.h:102
HTTP::FTicketPerf::FSample Sample
Definition OnDemandHttpClient.h:98
bool bCanceled
Definition OnDemandHttpClient.h:103
uint32 RetryCount
Definition OnDemandHttpClient.h:101
bool IsOk() const
Definition OnDemandHttpClient.h:85
TArray< FAnsiString > Headers
Definition OnDemandHttpClient.h:96
FIoBuffer Body
Definition OnDemandHttpClient.h:95
bool IsCanceled() const
Definition OnDemandHttpClient.h:90
int8 CDNCacheStatus
Definition OnDemandHttpClient.h:104
FString Reason
Definition OnDemandHttpClient.h:97
uint32 StatusCode
Definition OnDemandHttpClient.h:100
uint64 DurationMilliseconds
Definition OnDemandHttpClient.h:99