19 struct ClientConfiguration;
25 class WinConnectionPoolMgr;
41 std::shared_ptr<HttpResponse>
MakeRequest(
const std::shared_ptr<HttpRequest>& request,
48 virtual const char*
GetLogTag()
const {
return "WinSyncHttpClient"; }
86 virtual void* OpenRequest(
const std::shared_ptr<HttpRequest>& request,
void* connection,
const Aws::StringStream& ss)
const = 0;
87 virtual void DoAddHeaders(
void* hHttpRequest,
Aws::String& headerStr)
const = 0;
88 virtual uint64_t DoWriteData(
void* hHttpRequest,
char* streamBuffer, uint64_t bytesRead,
bool isChunked)
const = 0;
89 virtual uint64_t FinalizeWriteData(
void* hHttpRequest)
const = 0;
90 virtual bool DoReceiveResponse(
void* hHttpRequest)
const = 0;
91 virtual bool DoQueryHeaders(
void* hHttpRequest, std::shared_ptr<Aws::Http::HttpResponse>& response,
Aws::StringStream& ss, uint64_t& read)
const = 0;
92 virtual bool DoSendRequest(
void* hHttpRequest)
const = 0;
93 virtual bool DoReadData(
void* hHttpRequest,
char* body, uint64_t size, uint64_t& read)
const = 0;
94 virtual void* GetClientModule()
const = 0;
97 void LogRequestInternalFailure()
const;
99 void AddHeadersToRequest(
const std::shared_ptr<HttpRequest>& request,
void* hHttpRequest)
const;
virtual ~WinSyncHttpClient()
virtual const char * GetLogTag() const
virtual void OverrideOptionsOnRequestHandle(void *) const
std::shared_ptr< HttpResponse > MakeRequest(const std::shared_ptr< HttpRequest > &request, Aws::Utils::RateLimits::RateLimiterInterface *readLimiter=nullptr, Aws::Utils::RateLimits::RateLimiterInterface *writeLimiter=nullptr) const override
virtual void OverrideOptionsOnConnectionHandle(void *) const
void * AllocateWindowsHttpRequest(const std::shared_ptr< Aws::Http::HttpRequest > &request, void *connection) const
void SetConnectionPoolManager(WinConnectionPoolMgr *connectionMgr)
WinConnectionPoolMgr * GetConnectionPoolManager() const
void SetOpenHandle(void *handle)
void * GetOpenHandle() const
std::basic_stringstream< char, std::char_traits< char >, Aws::Allocator< char > > StringStream
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String