3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/http/DispatcherProcess.h"
7#include "mc/deps/core/threading/Async.h"
11namespace Bedrock::Http {
class Request; }
12namespace Bedrock::Http {
class Response; }
15namespace Bedrock::Threading {
class Mutex; }
19namespace Bedrock::Http {
33 LibHttpClientImpl& operator=(LibHttpClientImpl
const&);
39 virtual ~LibHttpClientImpl() ;
41 virtual void initialize() ;
43 virtual void shutdown() ;
45 virtual ::Bedrock::Threading::Async<::Bedrock::Http::Response>
54 MCNAPI ::std::optional<::std::chrono::seconds>
57 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response>
60 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response>
61 _retry(::gsl::not_null<::HC_CALL*> callHandle, ::std::chrono::seconds delay);
65 MCNAPI ::std::shared_ptr<::Bedrock::Http::Internal::IRequestBody>
68 MCNAPI ::std::shared_ptr<::Bedrock::Http::Internal::IResponseBody>
98 MCNAPI static ::std::weak_ptr<::Bedrock::Http::LibHttpClientImpl>&
sWeakThis();
Definition DispatcherProcess.h:11
Definition IRequestBody.h:7
Definition IResponseBody.h:10
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)
static MCAPI long _responseBodyWrite(::HC_CALL *call, uchar const *source, uint64 bytesAvailable, void *)
static MCAPI long _convertRequestHeaders(::gsl::not_null<::HC_CALL * > callHandle, ::Bedrock::Http::Request const &request)
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 _convertRequestBody(::gsl::not_null<::HC_CALL * > callHandle, ::Bedrock::Http::Request const &request)
MCAPI void _track(::gsl::not_null<::HC_CALL * > callHandle, ::Bedrock::Http::Request &&request)
static MCAPI ::Bedrock::Threading::Mutex & sWeakThisMutex()
MCAPI ::std::shared_ptr<::Bedrock::Http::Internal::IRequestBody > _tryGetRequestBody(::gsl::not_null<::HC_CALL * > call)
static MCAPI long _requestBodyRead(::HC_CALL *call, uint64 bytesAvailable, uint64 destination, void *bytesWritten, uchar *, uint64 *)
static MCAPI long _convertResponseHeaders(::gsl::not_null<::HC_CALL * > callHandle, ::Bedrock::Http::Response &response)
static MCAPI void ** $vftable()