UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BackgroundHttpRequestImpl.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Containers/Array.h"
9#include "Logging/LogMacros.h"
11#include "Async/Mutex.h"
12
14
15
20{
21public:
24
25 //This should be called from the platform level when a BG download finishes.
26 BACKGROUNDHTTP_API virtual void OnBackgroundDownloadComplete();
27
28 // IBackgroundHttpRequest
29 BACKGROUNDHTTP_API virtual bool ProcessRequest() override;
30 BACKGROUNDHTTP_API virtual void CancelRequest() override;
31 BACKGROUNDHTTP_API virtual void PauseRequest() override;
32 BACKGROUNDHTTP_API virtual void ResumeRequest() override;
33 BACKGROUNDHTTP_API virtual void SetURLAsList(const TArray<FString>& URLs, int NumRetriesToAttempt) override;
34 BACKGROUNDHTTP_API virtual const TArray<FString>& GetURLList() const override;
35 BACKGROUNDHTTP_API virtual void SetExpectedResultSize(const uint64 ExpectedSize) override;
36 BACKGROUNDHTTP_API virtual uint64 GetExpectedResultSize() const override;
38 BACKGROUNDHTTP_API virtual void CompleteWithExistingResponseData(FBackgroundHttpResponsePtr BackgroundResponse) override;
39 BACKGROUNDHTTP_API virtual FBackgroundHttpRequestCompleteDelegate& OnProcessRequestComplete() override;
40 BACKGROUNDHTTP_API virtual FBackgroundHttpProgressUpdateDelegate& OnProgressUpdated() override;
41 UE_DEPRECATED(5.7, "FBackgroundHttpRequestImpl::OnRequestMetrics is deprecated, please use OnRequestMetricsExtended instead.")
45 BACKGROUNDHTTP_API virtual const FString& GetRequestID() const override;
46 BACKGROUNDHTTP_API virtual void SetRequestID(const FString& NewRequestID) override;
47 BACKGROUNDHTTP_API virtual bool HandleDelayedProcess() override;
50
51 BACKGROUNDHTTP_API virtual void NotifyNotificationObjectOfComplete(const bool bWasSuccess);
52
53 UE_DEPRECATED(5.7, "FBackgroundHttpRequestImpl::NotifyRequestMetricsAvailable is deprecated, please use NotifyRequestMetricsExtendedAvailable instead.")
54 BACKGROUNDHTTP_API virtual void NotifyRequestMetricsAvailable(const int32 TotalBytesDownloaded, const float DownloadDuration);
55 BACKGROUNDHTTP_API virtual void NotifyRequestMetricsExtendedAvailable(const FBackgroundHttpRequestMetricsExtended ExtendedMetrics);
56
57 UE_DEPRECATED(5.7, "FBackgroundHttpRequestImpl::SetMetrics is deprecated, please use SetMetricsExtended instead.")
58 BACKGROUNDHTTP_API virtual void SetMetrics(const int32 TotalBytesDownloaded, const float DownloadDuration) override;
60
62 UE::FMutex DownloadCompleteMutex;
63 TSharedPtr<FBackgroundHttpNotificationObject, ESPMode::ThreadSafe> DownloadCompleteNotificationObject;
65 TArray<FString> URLList;
66 FString RequestID;
67 int NumberOfTotalRetries;
68 EBackgroundHTTPPriority RequestPriority;
69 uint64 ExpectedResultSize;
70
72
73 TOptional<FDownloadMetricsInfo> OptionalMetricsInfo;
74
75 FBackgroundHttpRequestCompleteDelegate HttpRequestCompleteDelegate;
76 FBackgroundHttpProgressUpdateDelegate HttpProgressUpdateDelegate;
77 FBackgroundHttpRequestMetricsDelegate HttpRequestMetricsDelegate;
78 FBackgroundHttpRequestMetricsExtendedDelegate HttpRequestMetricsExtendedDelegate;
79};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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
auto Response
Definition ExternalRpcRegistry.cpp:598
EBackgroundHTTPPriority
Definition IBackgroundHttpRequest.h:57
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
ESPMode
Definition SharedPointerFwd.h:12
Definition BackgroundHttpNotificationObject.h:14
Definition BackgroundHttpRequestImpl.h:20
virtual ~FBackgroundHttpRequestImpl()
Definition BackgroundHttpRequestImpl.h:23
Definition UnrealType.h:3087
Definition IBackgroundHttpRequest.h:108
Definition Array.h:670
Definition AdvancedWidgetsModule.cpp:13
Definition BackgroundHttpMetrics.h:8
Definition Optional.h:131