5#include "Containers/Array.h"
6#include "Containers/Map.h"
7#include "Containers/Queue.h"
398#if !UE_BUILD_SHIPPING
406 int32 StatusCode = 0;
#define PACKAGE_SCOPE
Definition CoreOnlinePackage.h:9
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define ENUM_RANGE_BY_COUNT(EnumType, Count)
Definition EnumRange.h:25
EHttpFlushReason
Definition HttpManager.h:28
const TCHAR * LexToString(const EHttpFlushReason &FlushReason)
Definition HttpManager.cpp:58
Definition HttpManager.h:116
HTTP_API void RecordPlatformStats(const FHttpStatsPlatform &PlatformStats)
Definition HttpManager.cpp:700
TMap< EHttpFlushReason, FHttpFlushTimeLimit > FlushTimeLimitsMap
Definition HttpManager.h:373
FTSTicker GameThreadTicker
Definition HttpManager.h:334
HTTP_API void Shutdown()
Definition HttpManager.cpp:134
FHttpStatsHistory HttpStatsHistory
Definition HttpManager.h:388
HTTP_API void ReloadFlushTimeLimits()
Definition HttpManager.cpp:191
virtual HTTP_API void OnBeforeFork()
Definition HttpManager.cpp:310
virtual HTTP_API FHttpThreadBase * CreateHttpThread()
Definition HttpManager.cpp:361
virtual HTTP_API void UpdateConfigs()
Definition HttpManager.cpp:326
HTTP_API void RemoveHttpThreadTask(TSharedPtr< IHttpTaskTimerHandle > HttpTaskTimerHandle)
Definition HttpManager.cpp:355
HTTP_API void UpdateUrlPatternsToMockResponse(IConsoleVariable *CVar)
Definition HttpManager.cpp:747
virtual HTTP_API void OnAfterFork()
Definition HttpManager.cpp:315
TArray< FString > UrlPatternsToLogResponse
Definition HttpManager.h:392
FCriticalSection GameThreadTickerLock
Definition HttpManager.h:335
HTTP_API bool HasAnyBoundDelegate() const
Definition HttpManager.cpp:165
HTTP_API bool IsCurrentThreadCompletingRequest() const
Definition HttpManager.cpp:842
HTTP_API void SetCorrelationIdMethod(TFunction< FString()> InCorrelationIdMethod)
Definition HttpManager.cpp:243
HTTP_API FString CreateCorrelationId() const
Definition HttpManager.cpp:249
FCriticalSection UrlPatternsToMockResponseCriticalSection
Definition HttpManager.h:467
HTTP_API void RemoveRequest(const FHttpRequestRef &Request)
Definition HttpManager.cpp:578
FHttpManagerRequestCompletedDelegate RequestCompletedDelegate
Definition HttpManager.h:344
virtual HTTP_API ~FHttpManager()
Definition HttpManager.cpp:98
HTTP_API void CancelThreadedRequest(const TSharedRef< FHttpRequestCommon, ESPMode::ThreadSafe > &Request)
Definition HttpManager.cpp:594
TMap< uint32, bool > ThreadsCompletingRequest
Definition HttpManager.h:400
HTTP_API void MarkCurrentThreadCompletingRequest(bool bCompleting)
Definition HttpManager.cpp:833
TMap< FString, FString > ResponseHeaders
Definition HttpManager.h:408
TArray< FString > UrlPatternsToDisableFailedLog
Definition HttpManager.h:395
FHttpThreadBase * Thread
Definition HttpManager.h:328
bool bUseEventLoop
Definition HttpManager.h:390
HTTP_API TSharedPtr< IHttpTaskTimerHandle > AddHttpThreadTask(TFunction< void()> &&Task, float InDelay=0.0f)
Definition HttpManager.cpp:349
FHttpManagerRequestAddedDelegate RequestAddedDelegate
Definition HttpManager.h:341
HTTP_API void AddRequest(const FHttpRequestRef &Request)
Definition HttpManager.cpp:566
static HTTP_API TFunction< FString()> GetDefaultCorrelationIdMethod()
Definition HttpManager.cpp:305
HTTP_API TOptional< FMockResponse > GetMockResponse(FStringView Url, FStringView Verb) const
Definition HttpManager.cpp:815
FCriticalSection CompletedRequestLock
Definition HttpManager.h:421
HTTP_API void RecordStatRequestsInQueue(uint32 RequestsInQueue)
Definition HttpManager.cpp:689
HTTP_API void UpdateUrlPatternsToDisableFailedLog(IConsoleVariable *CVar)
Definition HttpManager.cpp:726
HTTP_API void AddThreadedRequest(const TSharedRef< FHttpRequestCommon, ESPMode::ThreadSafe > &Request)
Definition HttpManager.cpp:585
HTTP_API void SetRequestAddedDelegate(const FHttpManagerRequestAddedDelegate &Delegate)
Definition HttpManager.cpp:617
FHttpStats HttpStats
Definition HttpManager.h:375
HTTP_API void AddGameThreadTask(TFunction< void()> &&Task, float Delay=0.0f)
Definition HttpManager.cpp:338
UE::Core::FURLRequestFilter URLRequestFilter
Definition HttpManager.h:347
HTTP_API void SetRequestCompletedDelegate(const FHttpManagerRequestCompletedDelegate &Delegate)
Definition HttpManager.cpp:622
FCriticalSection ThreadsCompletingRequestCriticalSection
Definition HttpManager.h:399
HTTP_API void BroadcastHttpRequestCompleted(const FHttpRequestRef &Request)
Definition HttpManager.cpp:644
FHttpStats GetHttpStats() const
Definition HttpManager.h:306
HTTP_API void RecordStatTimeToConnect(float Duration)
Definition HttpManager.cpp:678
TArray< TPair< FUrlToMatch, FMockResponse > > UrlPatternsToMockResponse
Definition HttpManager.h:466
virtual HTTP_API void OnEndFramePostFork()
Definition HttpManager.cpp:320
HTTP_API bool IsValidRequest(const IHttpRequest *RequestPtr) const
Definition HttpManager.cpp:600
TFunction< FString()> CorrelationIdMethod
Definition HttpManager.h:331
TArray< FHttpRequestRef > Requests
Definition HttpManager.h:326
FCriticalSection UrlPatternsToLogResponseCriticalSection
Definition HttpManager.h:393
void SetURLRequestFilter(const UE::Core::FURLRequestFilter &InURLRequestFilter)
Definition HttpManager.h:304
bool bFlushing
Definition HttpManager.h:338
virtual HTTP_API void FlushTick(float DeltaSeconds)
Definition HttpManager.cpp:561
HTTP_API FHttpManager()
Definition HttpManager.cpp:90
HTTP_API void UpdateUrlPatternsToLogResponse(IConsoleVariable *CVar)
Definition HttpManager.cpp:705
HTTP_API void RecordStatRequestsInFlight(uint32 RequestsInFlight)
Definition HttpManager.cpp:683
HTTP_API FHttpThreadBase * GetThread()
Definition HttpManager.cpp:673
HTTP_API void Initialize()
Definition HttpManager.cpp:108
HTTP_API void RecordMaxTimeToWaitInQueue(float Duration)
Definition HttpManager.cpp:695
FUtf8String ResponsePayload
Definition HttpManager.h:407
FCriticalSection RequestLock
Definition HttpManager.h:418
HTTP_API void DumpRequests(FOutputDevice &Ar) const
Definition HttpManager.cpp:627
HTTP_API bool IsDomainAllowed(const FString &Url) const
Definition HttpManager.cpp:272
HTTP_API bool ShouldDisableFailedLog(FStringView Url) const
Definition HttpManager.cpp:733
FCriticalSection UrlPatternsToDisableFailedLogCriticalSection
Definition HttpManager.h:396
HTTP_API bool ShouldLogResponse(FStringView Url) const
Definition HttpManager.cpp:712
virtual HTTP_API bool SupportsDynamicProxy() const
Definition HttpManager.cpp:639
Definition HttpRequestCommon.h:15
Definition HttpThread.h:35
Definition OutputDevice.h:133
Definition IConsoleManager.h:558
Definition IHttpRequest.h:171
Definition HttpThread.h:22
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition URLRequestFilter.h:29
Definition HttpManager.h:350
FHttpFlushTimeLimit(double InSoftLimitSeconds, double InHardLimitSeconds)
Definition HttpManager.h:368
double HardLimitSeconds
Definition HttpManager.h:366
double SoftLimitSeconds
Definition HttpManager.h:357
Definition HttpManager.h:377
int32 HistoryIndex
Definition HttpManager.h:379
int64 DownloadedBytes[HttpHistoryCount]
Definition HttpManager.h:381
int64 TotalDuration
Definition HttpManager.h:386
int64 TotalDownloadedBytes
Definition HttpManager.h:384
int64 TotalUploadedBytes
Definition HttpManager.h:385
static constexpr int32 HttpHistoryCount
Definition HttpManager.h:378
int64 DurationMs[HttpHistoryCount]
Definition HttpManager.h:382
Definition HttpManager.h:412
FString Str
Definition HttpManager.h:413
FString Verb
Definition HttpManager.h:414
Definition HttpManager.h:67
std::atomic< uint32 > MaxRequestsInFlight
Definition HttpManager.h:80
std::atomic< uint32 > MaxRequestsInQueue
Definition HttpManager.h:78
std::atomic< int32 > RequestsInFlight
Definition HttpManager.h:74
std::atomic< int32 > RequestsInQueue
Definition HttpManager.h:72
std::atomic< float > MaxTimeToConnect
Definition HttpManager.h:76
TOptional< FHttpStatsPlatform > PlatformStats
Definition HttpManager.h:90
std::atomic< int64 > HttpDurationMsAvg
Definition HttpManager.h:88
std::atomic< int64 > TotalDownloadedBytes
Definition HttpManager.h:84
std::atomic< int64 > BandwidthMbps
Definition HttpManager.h:86
std::atomic< float > MaxTimeToWaitInQueue
Definition HttpManager.h:82
FHttpStats()
Definition HttpManager.h:92
FHttpStats(const FHttpStats &Other)
Definition HttpManager.h:96
Definition Optional.h:131