7#if !defined(AWS_CLIENT_H)
26 template<
typename R,
typename E>
44 class HttpClientFactory;
63 template<
typename ERROR_TYPE>
65 class AWSErrorMarshaller;
67 struct ClientConfiguration;
85 const std::shared_ptr<Aws::Client::AWSAuthSigner>& signer,
86 const std::shared_ptr<AWSErrorMarshaller>& errorMarshaller);
94 const std::shared_ptr<Aws::Auth::AWSAuthSignerProvider>& signerProvider,
95 const std::shared_ptr<AWSErrorMarshaller>& errorMarshaller);
150 uint64_t expirationInSeconds = 0,
152 const char* signerRegionOverride =
nullptr,
153 const char* signerServiceNameOverride =
nullptr);
194 const char* signerName,
195 const char* signerRegionOverride =
nullptr,
196 const char* signerServiceNameOverride =
nullptr)
const;
207 const char* signerName,
208 const char* requestName =
"",
209 const char* signerRegionOverride =
nullptr,
210 const char* signerServiceNameOverride =
nullptr)
const;
218 const char* signerName,
219 const char* signerRegionOverride =
nullptr,
220 const char* signerServiceNameOverride =
nullptr)
const;
230 const char* signerName,
231 const char* requestName =
"",
232 const char* signerRegionOverride =
nullptr,
233 const char* signerServiceNameOverride =
nullptr)
const;
243 const char* signerRegionOverride =
nullptr,
244 const char* signerServiceNameOverride =
nullptr)
const;
256 const char* requestName =
"",
257 const char* signerRegionOverride =
nullptr,
258 const char* signerServiceNameOverride =
nullptr)
const;
264 const char* signerRegionOverride =
nullptr,
265 const char* signerServiceNameOverride =
nullptr)
const;
276 const std::shared_ptr<Aws::Http::HttpRequest>& httpRequest)
const;
283 return m_errorMarshaller;
308 std::shared_ptr<Aws::Http::HttpResponse>
MakeHttpRequest(std::shared_ptr<Aws::Http::HttpRequest>& request)
const;
326 void AddHeadersToRequest(
const std::shared_ptr<Aws::Http::HttpRequest>& httpRequest,
const Http::HeaderValueCollection& headerValues)
const;
327 void AddChecksumToRequest(
const std::shared_ptr<Aws::Http::HttpRequest>& HttpRequest,
const Aws::AmazonWebServiceRequest& request)
const;
328 void AddContentBodyToRequest(
const std::shared_ptr<Aws::Http::HttpRequest>& httpRequest,
const std::shared_ptr<Aws::IOStream>& body,
329 bool needsContentMd5 =
false,
bool isChunked =
false)
const;
333 std::shared_ptr<Aws::Http::HttpClient> m_httpClient;
334 std::shared_ptr<Aws::Auth::AWSAuthSignerProvider> m_signerProvider;
335 std::shared_ptr<AWSErrorMarshaller> m_errorMarshaller;
336 std::shared_ptr<RetryStrategy> m_retryStrategy;
337 std::shared_ptr<Aws::Utils::RateLimits::RateLimiterInterface> m_writeRateLimiter;
338 std::shared_ptr<Aws::Utils::RateLimits::RateLimiterInterface> m_readRateLimiter;
340 bool m_customizedUserAgent;
341 std::shared_ptr<Aws::Utils::Crypto::Hash> m_hash;
342 long m_requestTimeoutMs;
343 bool m_enableClockSkewAdjustment;
351#if !defined(AWS_JSON_CLIENT_H) && !defined(AWS_XML_CLIENT_H)
Aws::String GeneratePresignedUrl(const Aws::AmazonWebServiceRequest &request, const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, const Aws::Http::QueryStringParameterCollection &extraParams=Aws::Http::QueryStringParameterCollection(), long long expirationInSeconds=0) const
const std::shared_ptr< AWSErrorMarshaller > & GetErrorMarshaller() const
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, const char *serviceName, const Aws::Http::HeaderValueCollection &customizedHeaders, long long expirationInSeconds=0)
AWSClient(const Aws::Client::ClientConfiguration &configuration, const std::shared_ptr< Aws::Auth::AWSAuthSignerProvider > &signerProvider, const std::shared_ptr< AWSErrorMarshaller > &errorMarshaller)
static CoreErrors GuessBodylessErrorType(Aws::Http::HttpResponseCode responseCode)
Aws::String GeneratePresignedUrl(const Aws::Endpoint::AWSEndpoint &endpoint, Aws::Http::HttpMethod method=Http::HttpMethod::HTTP_POST, const Aws::Http::HeaderValueCollection &customizedHeaders={}, uint64_t expirationInSeconds=0, const char *signerName=Aws::Auth::SIGV4_SIGNER, const char *signerRegionOverride=nullptr, const char *signerServiceNameOverride=nullptr)
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, const char *serviceName, const char *signerName, long long expirationInSeconds=0) const
Aws::String GeneratePresignedUrl(const Aws::AmazonWebServiceRequest &request, const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, const char *serviceName, const char *signerName, const Aws::Http::QueryStringParameterCollection &extraParams=Aws::Http::QueryStringParameterCollection(), long long expirationInSeconds=0) const
virtual void BuildHttpRequest(const Aws::AmazonWebServiceRequest &request, const std::shared_ptr< Aws::Http::HttpRequest > &httpRequest) const
Aws::String GeneratePresignedUrl(const Aws::AmazonWebServiceRequest &request, const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const Aws::Http::QueryStringParameterCollection &extraParams=Aws::Http::QueryStringParameterCollection(), long long expirationInSeconds=0) const
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, long long expirationInSeconds=0) const
static bool DoesResponseGenerateError(const std::shared_ptr< Aws::Http::HttpResponse > &response)
Aws::String GeneratePresignedUrl(const Aws::AmazonWebServiceRequest &request, const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, const char *serviceName, const Aws::Http::QueryStringParameterCollection &extraParams=Aws::Http::QueryStringParameterCollection(), long long expirationInSeconds=0) const
void DisableRequestProcessing()
virtual void SetServiceClientName(const Aws::String &name)
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, const char *serviceName, long long expirationInSeconds=0) const
void EnableRequestProcessing()
HttpResponseOutcome AttemptOneRequest(const std::shared_ptr< Http::HttpRequest > &httpRequest, const char *signerName, const char *requestName="", const char *signerRegionOverride=nullptr, const char *signerServiceNameOverride=nullptr) const
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, const Aws::Http::HeaderValueCollection &customizedHeaders, long long expirationInSeconds=0)
std::shared_ptr< Aws::Http::HttpRequest > BuildAndSignHttpRequest(const Aws::Http::URI &uri, const Aws::AmazonWebServiceRequest &request, Http::HttpMethod method, const char *signerName) const
Aws::Client::AWSAuthSigner * GetSignerByName(const char *name) const
virtual AWSError< CoreErrors > BuildAWSError(const std::shared_ptr< Aws::Http::HttpResponse > &response) const =0
std::shared_ptr< Aws::Http::HttpResponse > MakeHttpRequest(std::shared_ptr< Aws::Http::HttpRequest > &request) const
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, const char *serviceName, const char *signerName, const Aws::Http::HeaderValueCollection &customizedHeaders, long long expirationInSeconds=0)
StreamOutcome MakeRequestWithUnparsedResponse(const Aws::AmazonWebServiceRequest &request, const Aws::Endpoint::AWSEndpoint &endpoint, Http::HttpMethod method=Http::HttpMethod::HTTP_POST, const char *signerName=Aws::Auth::SIGV4_SIGNER, const char *signerRegionOverride=nullptr, const char *signerServiceNameOverride=nullptr) const
HttpResponseOutcome AttemptExhaustively(const Aws::Http::URI &uri, const Aws::AmazonWebServiceRequest &request, Http::HttpMethod httpMethod, const char *signerName, const char *signerRegionOverride=nullptr, const char *signerServiceNameOverride=nullptr) const
virtual const char * GetServiceClientName() const
AWSClient(const Aws::Client::ClientConfiguration &configuration, const std::shared_ptr< Aws::Client::AWSAuthSigner > &signer, const std::shared_ptr< AWSErrorMarshaller > &errorMarshaller)
HttpResponseOutcome AttemptOneRequest(const std::shared_ptr< Http::HttpRequest > &httpRequest, const Aws::AmazonWebServiceRequest &request, const char *signerName, const char *signerRegionOverride=nullptr, const char *signerServiceNameOverride=nullptr) const
StreamOutcome MakeRequestWithUnparsedResponse(const Aws::Http::URI &uri, Http::HttpMethod method=Http::HttpMethod::HTTP_POST, const char *signerName=Aws::Auth::SIGV4_SIGNER, const char *requestName="", const char *signerRegionOverride=nullptr, const char *signerServiceNameOverride=nullptr) const
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, long long expirationInSeconds=0)
StreamOutcome MakeRequestWithUnparsedResponse(const Aws::Http::URI &uri, const Aws::AmazonWebServiceRequest &request, Http::HttpMethod method=Http::HttpMethod::HTTP_POST, const char *signerName=Aws::Auth::SIGV4_SIGNER, const char *signerRegionOverride=nullptr, const char *signerServiceNameOverride=nullptr) const
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const Aws::Http::HeaderValueCollection &customizedHeaders, long long expirationInSeconds=0)
HttpResponseOutcome AttemptExhaustively(const Aws::Http::URI &uri, Http::HttpMethod httpMethod, const char *signerName, const char *requestName="", const char *signerRegionOverride=nullptr, const char *signerServiceNameOverride=nullptr) const
static void AppendRecursionDetectionHeader(std::shared_ptr< Aws::Http::HttpRequest > ioRequest)
AWS_CORE_API const char SIGV4_SIGNER[]
AWS_CORE_API const char NULL_SIGNER[]
Utils::Outcome< std::shared_ptr< Aws::Http::HttpResponse >, AWSError< CoreErrors > > HttpResponseOutcome
AWS_CORE_API Aws::String GetAuthorizationHeader(const Aws::Http::HttpRequest &httpRequest)
Utils::Outcome< AmazonWebServiceResult< Utils::Stream::ResponseStream >, AWSError< CoreErrors > > StreamOutcome
Aws::MultiMap< Aws::String, Aws::String > QueryStringParameterCollection
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String