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
11struct HC_CALL;
12namespace Bedrock::Http { class Request; }
13namespace Bedrock::Http { class Response; }
14namespace Bedrock::Http::Internal { class IResponseBody; }
15namespace Bedrock::Threading { class Mutex; }
16// clang-format on
17
18namespace Bedrock::Http {
19
21public:
22 // member variables
23 // NOLINTBEGIN
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 LibHttpClientImpl& operator=(LibHttpClientImpl const&);
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 // vIndex: 0
39 virtual ~LibHttpClientImpl() /*override*/ = default;
40
41 // vIndex: 2
42 virtual void initialize() /*override*/;
43
44 // vIndex: 3
45 virtual void shutdown() /*override*/;
46
47 // vIndex: 1
48 virtual ::Bedrock::Threading::Async<::Bedrock::Http::Response>
49 send(::Bedrock::Http::Request&& request) /*override*/;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
56
57 MCNAPI ::std::optional<::std::chrono::seconds>
58 _checkRetryPolicy(::gsl::not_null<::HC_CALL*> call, ::Bedrock::Http::Response const& httpResponse);
59
60 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response>
61 _convertResponse(::gsl::not_null<::HC_CALL*> callHandle);
62
63 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response>
64 _retry(::gsl::not_null<::HC_CALL*> callHandle, ::std::chrono::seconds delay);
65
66 MCNAPI ::std::shared_ptr<::Bedrock::Http::Internal::IResponseBody>
67 _tryGetResponseBody(::gsl::not_null<::HC_CALL*> call);
68
69 MCNAPI void _untrack(::gsl::not_null<::HC_CALL*> callHandle);
70 // NOLINTEND
71
72public:
73 // static functions
74 // NOLINTBEGIN
75 MCNAPI static long
76 _convertResponseBody(::gsl::not_null<::HC_CALL*> callHandle, ::Bedrock::Http::Response& response);
77
78 MCNAPI static long
79 _convertResponseHeaders(::gsl::not_null<::HC_CALL*> callHandle, ::Bedrock::Http::Response& response);
80
81 MCNAPI static long _createCallHandle(::HC_CALL** outHandle, ::Bedrock::Http::Request const& request);
82
83 MCNAPI static long _requestBodyRead(
84 ::HC_CALL* call,
85 uint64 offset,
86 uint64 bytesAvailable,
87 void* context,
88 uchar* destination,
89 uint64* bytesWritten
90 );
91
92 MCNAPI static long _responseBodyWrite(::HC_CALL* call, uchar const* source, uint64 bytesAvailable, void* context);
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 // virtual function thunks
111 // NOLINTBEGIN
112 MCNAPI void $initialize();
113
114 MCNAPI void $shutdown();
115
116 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response> $send(::Bedrock::Http::Request&& request);
117 // NOLINTEND
118
119public:
120 // vftables
121 // NOLINTBEGIN
122 MCNAPI static void** $vftable();
123 // NOLINTEND
124};
125
126} // namespace Bedrock::Http
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 ::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()
Definition Request.h:15
Definition Response.h:13
Definition HC_CALL.h:16
Definition context.h:5
Definition Alias.h:14