LeviLamina
Loading...
Searching...
No Matches
LibHttpClientImpl.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/http/DispatcherProcess.h"
7#include "mc/deps/core/threading/Async.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Bedrock::Http { class Request; }
12namespace Bedrock::Http { class Response; }
13namespace Bedrock::Http::Internal { class IRequestBody; }
14namespace Bedrock::Http::Internal { class IResponseBody; }
15namespace Bedrock::Threading { class Mutex; }
16struct HC_CALL;
17// clang-format on
18
19namespace Bedrock::Http {
20
21class LibHttpClientImpl : public ::Bedrock::Http::DispatcherProcess {
22public:
23 // member variables
24 // NOLINTBEGIN
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 LibHttpClientImpl& operator=(LibHttpClientImpl const&);
34 LibHttpClientImpl(LibHttpClientImpl const&);
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ~LibHttpClientImpl() /*override*/;
40
41 virtual void initialize() /*override*/;
42
43 virtual void shutdown() /*override*/;
44
45 virtual ::Bedrock::Threading::Async<::Bedrock::Http::Response>
46 send(::Bedrock::Http::Request&& request) /*override*/;
47 // NOLINTEND
48
49public:
50 // member functions
51 // NOLINTBEGIN
53
54 MCNAPI ::std::optional<::std::chrono::seconds>
55 _checkRetryPolicy(::gsl::not_null<::HC_CALL*> call, ::Bedrock::Http::Response const& httpResponse);
56
57 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response>
58 _convertResponse(::gsl::not_null<::HC_CALL*> callHandle);
59
60 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response>
61 _retry(::gsl::not_null<::HC_CALL*> callHandle, ::std::chrono::seconds delay);
62
63 MCNAPI void _track(::gsl::not_null<::HC_CALL*> callHandle, ::Bedrock::Http::Request&& request);
64
65 MCNAPI ::std::shared_ptr<::Bedrock::Http::Internal::IRequestBody>
66 _tryGetRequestBody(::gsl::not_null<::HC_CALL*> call);
67
68 MCNAPI ::std::shared_ptr<::Bedrock::Http::Internal::IResponseBody>
69 _tryGetResponseBody(::gsl::not_null<::HC_CALL*> call);
70 // NOLINTEND
71
72public:
73 // static functions
74 // NOLINTBEGIN
75 MCNAPI static long
76 _convertRequestBody(::gsl::not_null<::HC_CALL*> callHandle, ::Bedrock::Http::Request const& request);
77
78 MCNAPI static long
79 _convertRequestHeaders(::gsl::not_null<::HC_CALL*> callHandle, ::Bedrock::Http::Request const& request);
80
81 MCNAPI static long
82 _convertResponseBody(::gsl::not_null<::HC_CALL*> callHandle, ::Bedrock::Http::Response& response);
83
84 MCNAPI static long
85 _convertResponseHeaders(::gsl::not_null<::HC_CALL*> callHandle, ::Bedrock::Http::Response& response);
86
87 MCNAPI static long _createCallHandle(::HC_CALL** outHandle, ::Bedrock::Http::Request const& request);
88
89 MCNAPI static long
90 _requestBodyRead(::HC_CALL* call, uint64 bytesAvailable, uint64 destination, void* bytesWritten, uchar*, uint64*);
91
92 MCNAPI static long _responseBodyWrite(::HC_CALL* call, uchar const* source, uint64 bytesAvailable, void*);
93 // NOLINTEND
94
95public:
96 // static variables
97 // NOLINTBEGIN
98 MCNAPI static ::std::weak_ptr<::Bedrock::Http::LibHttpClientImpl>& sWeakThis();
99
100 MCNAPI static ::Bedrock::Threading::Mutex& sWeakThisMutex();
101 // NOLINTEND
102
103public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCNAPI void* $ctor();
107 // NOLINTEND
108
109public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCNAPI void $dtor();
113 // NOLINTEND
114
115public:
116 // virtual function thunks
117 // NOLINTBEGIN
118 MCNAPI void $initialize();
119
120 MCNAPI void $shutdown();
121
122 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response> $send(::Bedrock::Http::Request&& request);
123
124
125 // NOLINTEND
126
127public:
128 // vftables
129 // NOLINTBEGIN
130 MCNAPI static void** $vftable();
131 // NOLINTEND
132};
133
134} // namespace Bedrock::Http
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 ::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()
Definition Request.h:22
Definition Response.h:7
Definition Mutex.h:10
Definition HC_CALL.h:14
Definition Alias.h:14