3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/http/DispatcherProcess.h"
7#include "mc/deps/core/threading/Async.h"
12namespace Bedrock::Http {
class Request; }
13namespace Bedrock::Http {
class Response; }
14namespace Bedrock::Http::Internal {
class IResponseBody; }
15namespace Bedrock::Threading {
class Mutex; }
18namespace Bedrock::Http {
42 virtual void initialize() ;
45 virtual void shutdown() ;
48 virtual ::Bedrock::Threading::Async<::Bedrock::Http::Response>
57 MCNAPI ::std::optional<::std::chrono::seconds>
60 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response>
63 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response>
64 _retry(::gsl::not_null<::HC_CALL*> callHandle, ::std::chrono::seconds delay);
66 MCNAPI ::std::shared_ptr<::Bedrock::Http::Internal::IResponseBody>
69 MCNAPI
void _untrack(::gsl::not_null<::HC_CALL*> callHandle);
86 uint64 bytesAvailable,
98 MCNAPI static ::std::weak_ptr<::Bedrock::Http::LibHttpClientImpl>&
sWeakThis();
Definition DispatcherProcess.h:11
Definition LibHttpClientImpl.h:20
static MCAPI long _responseBodyWrite(::HC_CALL *call, uchar const *source, uint64 bytesAvailable, void *context)
static MCAPI ::std::weak_ptr<::Bedrock::Http::LibHttpClientImpl > & sWeakThis()
MCAPI ::std::optional<::std::chrono::seconds > _checkRetryPolicy(::gsl::not_null<::HC_CALL * > call, ::Bedrock::Http::Response const &httpResponse)
static MCAPI long _convertResponseBody(::gsl::not_null<::HC_CALL * > callHandle, ::Bedrock::Http::Response &response)
MCAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response > _retry(::gsl::not_null<::HC_CALL * > callHandle, ::std::chrono::seconds delay)
static MCAPI long _createCallHandle(::HC_CALL **outHandle, ::Bedrock::Http::Request const &request)
MCAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response > _convertResponse(::gsl::not_null<::HC_CALL * > callHandle)
MCAPI void _untrack(::gsl::not_null<::HC_CALL * > callHandle)
MCAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response > $send(::Bedrock::Http::Request &&request)
MCAPI LibHttpClientImpl()
MCAPI ::std::shared_ptr<::Bedrock::Http::Internal::IResponseBody > _tryGetResponseBody(::gsl::not_null<::HC_CALL * > call)
static MCAPI long _requestBodyRead(::HC_CALL *call, uint64 offset, uint64 bytesAvailable, void *context, uchar *destination, uint64 *bytesWritten)
static MCAPI ::Bedrock::Threading::Mutex & sWeakThisMutex()
static MCAPI long _convertResponseHeaders(::gsl::not_null<::HC_CALL * > callHandle, ::Bedrock::Http::Response &response)
static MCAPI void ** $vftable()