7#include <aws/core/AmazonWebServiceRequest.h>
8#include <aws/core/endpoint/AWSEndpoint.h>
16 template<
const char* ServiceNameT,
26 const char* signerRegionOverride =
nullptr,
27 const char* signerServiceNameOverride =
nullptr)
const
29 AWS_UNREFERENCED_PARAM(uri);
30 AWS_UNREFERENCED_PARAM(signerName);
31 AWS_UNREFERENCED_PARAM(signerRegionOverride);
32 AWS_UNREFERENCED_PARAM(signerServiceNameOverride);
33 AWS_LOGSTREAM_WARN(ServiceNameT,
"Using Deprecated API. Please use appropriate client constructor");
36 return static_cast<const DerivedT*
>(
this)->MakeRequestDeserialize(&request,
39 std::move(endpointCallback));
45 const char* requestName =
"",
46 const char* signerRegionOverride =
nullptr,
47 const char* signerServiceNameOverride =
nullptr)
const
49 AWS_UNREFERENCED_PARAM(uri);
50 AWS_UNREFERENCED_PARAM(signerName);
51 AWS_UNREFERENCED_PARAM(signerRegionOverride);
52 AWS_UNREFERENCED_PARAM(signerServiceNameOverride);
53 AWS_LOGSTREAM_WARN(ServiceNameT,
"Using Deprecated API. Please use appropriate client constructor");
56 return static_cast<const DerivedT*
>(
this)->MakeRequestDeserialize(
nullptr,
59 std::move(endpointCallback));
66 const char* signerRegionOverride =
nullptr,
67 const char* signerServiceNameOverride =
nullptr)
const
69 AWS_UNREFERENCED_PARAM(endpoint);
70 AWS_UNREFERENCED_PARAM(signerName);
71 AWS_UNREFERENCED_PARAM(signerRegionOverride);
72 AWS_UNREFERENCED_PARAM(signerServiceNameOverride);
73 AWS_LOGSTREAM_WARN(ServiceNameT,
"Using Deprecated API. Please use appropriate client constructor");
76 return static_cast<const DerivedT*
>(
this)->MakeRequestDeserialize(&request,
79 std::move(endpointCallback));
83 const char* requestName =
"",
86 const char* signerRegionOverride =
nullptr,
87 const char* signerServiceNameOverride =
nullptr)
const
89 AWS_UNREFERENCED_PARAM(endpoint);
90 AWS_UNREFERENCED_PARAM(signerName);
91 AWS_UNREFERENCED_PARAM(signerRegionOverride);
92 AWS_UNREFERENCED_PARAM(signerServiceNameOverride);
93 AWS_LOGSTREAM_WARN(ServiceNameT,
"Using Deprecated API. Please use appropriate client constructor");
96 return static_cast<const DerivedT*
>(
this)->MakeRequestDeserialize(
nullptr,
99 std::move(endpointCallback));
113 serviceSpecificParameter
126 serviceSpecificParameter);
134 region ? region :
Aws::String{},
138 serviceSpecificParameter);
146 region ? region :
Aws::String{},
150 serviceSpecificParameter);
158 region ? region :
Aws::String{},
159 serviceName ? serviceName :
Aws::String{},
162 serviceSpecificParameter);
170 region ? region :
Aws::String{},
171 serviceName ? serviceName :
Aws::String{},
174 serviceSpecificParameter);
179 AWS_UNREFERENCED_PARAM(signerName);
183 region ? region :
Aws::String{},
184 serviceName ? serviceName :
Aws::String{},
187 serviceSpecificParameter);
192 AWS_UNREFERENCED_PARAM(signerName);
196 region ? region :
Aws::String{},
197 serviceName ? serviceName :
Aws::String{},
200 serviceSpecificParameter);
206 uint64_t expirationInSeconds = 0,
208 const char* signerRegionOverride =
nullptr,
209 const char* signerServiceNameOverride =
nullptr,
210 const std::shared_ptr<Aws::Http::ServiceSpecificParameters> serviceSpecificParameter = {})
212 AWS_UNREFERENCED_PARAM(signerName);
216 signerRegionOverride ? signerRegionOverride :
Aws::String{},
217 signerServiceNameOverride ? signerServiceNameOverride :
Aws::String{},
220 serviceSpecificParameter);
225 const std::shared_ptr<Aws::Http::ServiceSpecificParameters> serviceSpecificParameter = {})
235 serviceSpecificParameter);
240 const std::shared_ptr<Aws::Http::ServiceSpecificParameters> serviceSpecificParameter = {})
const
242 AWS_UNREFERENCED_PARAM(signerName);
247 region ? region :
Aws::String{},
248 serviceName ? serviceName :
Aws::String{},
251 serviceSpecificParameter);
256 const std::shared_ptr<Aws::Http::ServiceSpecificParameters> serviceSpecificParameter = {})
const
262 region ? region :
Aws::String{},
263 serviceName ? serviceName :
Aws::String{},
266 serviceSpecificParameter);
271 const std::shared_ptr<Aws::Http::ServiceSpecificParameters> serviceSpecificParameter = {})
const
277 region ? region :
Aws::String{},
281 serviceSpecificParameter);
292 long long expirationInSeconds,
293 const std::shared_ptr<Aws::Http::ServiceSpecificParameters> serviceSpecificParameters)
const
302 typename DerivedT::CreateHttpRequestCallback createHttpRequestCallback = [&extraParams,&serviceSpecificParameters](
const Aws::Http::URI& uri,
const Aws::Http::HttpMethod& method) -> std::shared_ptr<Aws::Http::HttpRequest> {
304 for (
auto& param : extraParams)
306 httpRequest->AddQueryStringParameter(param.first.c_str(), param.second);
308 httpRequest->SetServiceSpecificParameters(serviceSpecificParameters);
314 std::move(getUriCallback),
315 std::move(createHttpRequestCallback),
319 expirationInSeconds);
326 long long expirationInSeconds,
328 const std::shared_ptr<Aws::Http::ServiceSpecificParameters> serviceSpecificParameters)
const
336 typename DerivedT::CreateHttpRequestCallback createHttpRequestCallback = [&customizedHeaders, &serviceSpecificParameters](
const Aws::Http::URI& uri,
const Aws::Http::HttpMethod& method) -> std::shared_ptr<Aws::Http::HttpRequest> {
338 if(serviceSpecificParameters)
340 request->SetServiceSpecificParameters(serviceSpecificParameters);
342 for (
const auto& it: customizedHeaders)
344 request->SetHeaderValue(it.first.c_str(), it.second);
350 std::move(getUriCallback),
351 std::move(createHttpRequestCallback),
355 expirationInSeconds);
364 long long expirationInSeconds,
366 const std::shared_ptr<Aws::Http::ServiceSpecificParameters> serviceSpecificParameters)
const
369 typename DerivedT::ExtractUriCallback getUriCallback = [&](
Aws::Http::URI& uriCopy,
Aws::String& signerRegionOverride,
Aws::String& signerServiceNameOverride,
const AuthSchemeOption&) ->
bool {
370 uriCopy = endpoint.
GetURI();
371 signerRegionOverride = region;
372 signerServiceNameOverride = serviceName;
375 if (endpoint.
GetAttributes()->authScheme.GetSigningRegion()) {
376 signerRegionOverride = endpoint.
GetAttributes()->authScheme.GetSigningRegion()->c_str();
378 if (endpoint.
GetAttributes()->authScheme.GetSigningRegionSet()) {
379 signerRegionOverride = endpoint.
GetAttributes()->authScheme.GetSigningRegionSet()->c_str();
382 signerServiceNameOverride = endpoint.
GetAttributes()->authScheme.GetSigningName()->c_str();
388 typename DerivedT::CreateHttpRequestCallback createHttpRequestCallback = [&customizedHeaders, &serviceSpecificParameters](
const Aws::Http::URI& uri,
const Aws::Http::HttpMethod& method) -> std::shared_ptr<Aws::Http::HttpRequest> {
390 request->SetServiceSpecificParameters(serviceSpecificParameters);
391 for (
const auto& it: customizedHeaders)
393 request->SetHeaderValue(it.first.c_str(), it.second);
399 std::move(getUriCallback),
400 std::move(createHttpRequestCallback),
404 expirationInSeconds);
virtual void PutToPresignedUrl(Aws::Http::URI &uri) const
const Aws::Http::URI & GetURI() const
const Crt::Optional< EndpointAttributes > & GetAttributes() 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 std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={})
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 std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={}) 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, const std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={})
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const Aws::Http::HeaderValueCollection &customizedHeaders, long long expirationInSeconds=0, const std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={})
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 std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={}) const
AwsLegacyClientT()=default
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, long long expirationInSeconds=0, const std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={})
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 std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={}) const
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, const char *serviceName, long long expirationInSeconds=0, const std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={}) const
ResponseT MakeRequest(const Aws::Endpoint::AWSEndpoint &endpoint, const char *requestName="", Aws::Http::HttpMethod method=Aws::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 char *region, const Aws::Http::HeaderValueCollection &customizedHeaders, long long expirationInSeconds=0, const std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={})
ResponseT MakeRequest(const Aws::Http::URI &uri, Aws::Http::HttpMethod method=Aws::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::Endpoint::AWSEndpoint &endpoint, Aws::Http::HttpMethod method=Aws::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, const std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={})
Aws::String GeneratePresignedUrl(const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const char *region, long long expirationInSeconds=0, const std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={}) const
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 std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={}) const
ResponseT MakeRequest(const Aws::Http::URI &uri, const Aws::AmazonWebServiceRequest &request, Aws::Http::HttpMethod method=Aws::Http::HttpMethod::HTTP_POST, const char *signerName=Aws::Auth::SIGV4_SIGNER, const char *signerRegionOverride=nullptr, const char *signerServiceNameOverride=nullptr) const
ResponseT MakeRequest(const Aws::AmazonWebServiceRequest &request, const Aws::Endpoint::AWSEndpoint &endpoint, Aws::Http::HttpMethod method=Aws::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::AmazonWebServiceRequest &request, const Aws::Http::URI &uri, Aws::Http::HttpMethod method, const Aws::String ®ion, const Aws::String &serviceName, const Aws::Http::QueryStringParameterCollection &extraParams, long long expirationInSeconds, const std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameters) 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, const std::shared_ptr< Aws::Http::ServiceSpecificParameters > serviceSpecificParameter={})
AWS_CORE_API const char SIGV4_SIGNER[]
Aws::MultiMap< Aws::String, Aws::String > QueryStringParameterCollection
AWS_CORE_API std::shared_ptr< HttpRequest > CreateHttpRequest(const Aws::String &uri, HttpMethod method, const Aws::IOStreamFactory &streamFactory)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
AWS_CORE_API Aws::IOStream * DefaultResponseStreamFactoryMethod()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String