13struct aws_signing_config_aws;
22 class ICredentialsProvider;
26 SigV4 = AWS_SIGNING_ALGORITHM_V4,
27 SigV4A = AWS_SIGNING_ALGORITHM_V4_ASYMMETRIC
38 namespace SignedBodyValue
106 const Crt::
String &GetRegion() const noexcept;
111 void SetRegion(const Crt::
String ®ion) noexcept;
116 const Crt::
String &GetService() const noexcept;
121 void SetService(const Crt::
String &service) noexcept;
126 DateTime GetSigningTimepoint() const noexcept;
131 void SetSigningTimepoint(const
DateTime &date) noexcept;
143 bool GetUseDoubleUriEncode() const noexcept;
149 void SetUseDoubleUriEncode(
bool useDoubleUriEncode) noexcept;
154 bool GetShouldNormalizeUriPath() const noexcept;
159 void SetShouldNormalizeUriPath(
bool shouldNormalizeUriPath) noexcept;
165 bool GetOmitSessionToken() const noexcept;
171 void SetOmitSessionToken(
bool omitSessionToken) noexcept;
187 void *GetShouldSignHeaderUserData() const noexcept;
192 void SetShouldSignHeaderUserData(
void *userData) noexcept;
198 const Crt::
String &GetSignedBodyValue() const noexcept;
207 void SetSignedBodyValue(const Crt::
String &signedBodyValue) noexcept;
222 uint64_t GetExpirationInSeconds() const noexcept;
227 void SetExpirationInSeconds(uint64_t expirationInSeconds) noexcept;
247 const
std::shared_ptr<
Credentials> &GetCredentials() const noexcept;
252 void SetCredentials(const
std::shared_ptr<
Credentials> &credentials) noexcept;
255 const struct aws_signing_config_aws *GetUnderlyingHandle() const noexcept;
261 struct aws_signing_config_aws m_config;
262 Crt::
String m_signingRegion;
263 Crt::
String m_serviceName;
264 Crt::
String m_signedBodyValue;
276 bool IsValid()
const override {
return true; }
280 virtual bool SignRequest(
281 const std::shared_ptr<Aws::Crt::Http::HttpRequest> &request,
#define AWS_CRT_CPP_API
Definition: Exports.h:37
Definition: Sigv4Signing.h:76
virtual SigningConfigType GetType() const noexcept override
Definition: Sigv4Signing.h:81
Definition: Credentials.h:38
Definition: Credentials.h:105
Definition: Sigv4Signing.h:271
bool IsValid() const override
Definition: Sigv4Signing.h:276
virtual ~Sigv4HttpRequestSigner()=default
Definition: DateTime.h:53
AWS_CRT_CPP_API const char * StreamingAws4HmacSha256Payload
Definition: Sigv4Signing.cpp:25
AWS_CRT_CPP_API const char * StreamingAws4HmacSha256Events
Definition: Sigv4Signing.cpp:26
AWS_CRT_CPP_API const char * UnsignedPayload
Definition: Sigv4Signing.cpp:24
AWS_CRT_CPP_API const char * EmptySha256
Definition: Sigv4Signing.cpp:23
SigningAlgorithm
Definition: Sigv4Signing.h:25
SigningConfigType
Definition: Signing.h:26
SignedBodyHeaderType
Definition: Sigv4Signing.h:64
std::function< void(const std::shared_ptr< Aws::Crt::Http::HttpRequest > &, int)> OnHttpRequestSigningComplete
Definition: Signing.h:35
bool(*)(const Crt::ByteCursor *, void *) ShouldSignHeaderCb
Definition: Sigv4Signing.h:69
SignatureType
Definition: Sigv4Signing.h:31
@ HttpRequestViaQueryParams
aws_byte_cursor ByteCursor
Definition: Types.h:33
aws_allocator Allocator
Definition: StlAllocator.h:17
AWS_CRT_CPP_API Allocator * g_allocator
Definition: Api.cpp:21
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition: Types.h:47
Definition: StringView.h:846