20 #include <aws/core/utils/memory/stl/AwsStringStream.h> 29 struct ClientConfiguration;
35 class WinConnectionPoolMgr;
50 std::shared_ptr<HttpResponse> MakeRequest(
HttpRequest& request,
57 virtual const char*
GetLogTag()
const {
return "WinSyncHttpClient"; }
62 void SetOpenHandle(
void* handle);
86 virtual void DoAddHeaders(
void* hHttpRequest,
Aws::String& headerStr)
const = 0;
87 virtual uint64_t DoWriteData(
void* hHttpRequest,
char* streamBuffer, uint64_t bytesRead)
const = 0;
88 virtual bool DoReceiveResponse(
void* hHttpRequest)
const = 0;
89 virtual bool DoQueryHeaders(
void* hHttpRequest, std::shared_ptr<Aws::Http::Standard::StandardHttpResponse>& response,
Aws::StringStream& ss, uint64_t& read)
const = 0;
90 virtual bool DoSendRequest(
void* hHttpRequest)
const = 0;
91 virtual bool DoReadData(
void* hHttpRequest,
char* body, uint64_t size, uint64_t& read)
const = 0;
92 virtual void* GetClientModule()
const = 0;
94 bool StreamPayloadToRequest(
const HttpRequest& request,
void* hHttpRequest)
const;
95 void LogRequestInternalFailure()
const;
97 void AddHeadersToRequest(
const HttpRequest& request,
void* hHttpRequest)
const;
WinConnectionPoolMgr * GetConnectionPoolManager() const
virtual const char * GetLogTag() const
std::basic_stringstream< char, std::char_traits< char >, Aws::Allocator< char > > StringStream
void * GetOpenHandle() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
JSON (JavaScript Object Notation).