13 struct aws_signing_config_aws;
22 class ICredentialsProvider;
33 SigV4 = AWS_SIGNING_ALGORITHM_V4,
39 SigV4A = AWS_SIGNING_ALGORITHM_V4_ASYMMETRIC,
76 namespace SignedBodyValue
120 None = AWS_SBHT_NONE,
165 const Crt::
String &GetRegion() const noexcept;
170 void SetRegion(const Crt::
String ®ion) noexcept;
175 const Crt::
String &GetService() const noexcept;
180 void SetService(const Crt::
String &service) noexcept;
185 DateTime GetSigningTimepoint() const noexcept;
190 void SetSigningTimepoint(const
DateTime &date) noexcept;
202 bool GetUseDoubleUriEncode() const noexcept;
208 void SetUseDoubleUriEncode(
bool useDoubleUriEncode) noexcept;
213 bool GetShouldNormalizeUriPath() const noexcept;
218 void SetShouldNormalizeUriPath(
bool shouldNormalizeUriPath) noexcept;
224 bool GetOmitSessionToken() const noexcept;
230 void SetOmitSessionToken(
bool omitSessionToken) noexcept;
246 void *GetShouldSignHeaderUserData() const noexcept;
251 void SetShouldSignHeaderUserData(
void *userData) noexcept;
257 const Crt::
String &GetSignedBodyValue() const noexcept;
266 void SetSignedBodyValue(const Crt::
String &signedBodyValue) noexcept;
282 uint64_t GetExpirationInSeconds() const noexcept;
287 void SetExpirationInSeconds(uint64_t expirationInSeconds) noexcept;
307 const
std::shared_ptr<
Credentials> &GetCredentials() const noexcept;
312 void SetCredentials(const
std::shared_ptr<
Credentials> &credentials) noexcept;
315 const struct aws_signing_config_aws *GetUnderlyingHandle() const noexcept;
321 struct aws_signing_config_aws m_config;
322 Crt::
String m_signingRegion;
323 Crt::
String m_serviceName;
324 Crt::
String m_signedBodyValue;
337 bool IsValid()
const override {
return true; }
342 virtual bool SignRequest(
343 const std::shared_ptr<Aws::Crt::Http::HttpRequest> &request,
AWS_CRT_CPP_API const char * StreamingAws4HmacSha256Payload
Definition: Sigv4Signing.cpp:35
#define AWS_CRT_CPP_API
Definition: Exports.h:36
std::function< void(const std::shared_ptr< Aws::Crt::Http::HttpRequest > &, int)> OnHttpRequestSigningComplete
Definition: Signing.h:39
AWS_CRT_CPP_API const char * EmptySha256Str()
Definition: Sigv4Signing.cpp:24
bool IsValid() const override
Definition: Sigv4Signing.h:337
SigningAlgorithm
Definition: Sigv4Signing.h:27
AWS_CRT_CPP_API const char * StreamingAws4HmacSha256Events
Definition: Sigv4Signing.cpp:41
Definition: StringView.h:861
SignedBodyHeaderType
Definition: Sigv4Signing.h:115
virtual SigningConfigType GetType() const noexcept override
Definition: Sigv4Signing.h:140
std::basic_string< char, std::char_traits< char >, StlAllocator< char >> String
Definition: Types.h:45
aws_allocator Allocator
Definition: Allocator.h:14
aws_byte_cursor ByteCursor
Definition: Types.h:31
AWS_CRT_CPP_API const char * StreamingAws4HmacSha256EventsStr()
Definition: Sigv4Signing.cpp:42
SigningConfigType
Definition: Signing.h:29
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition: Allocator.cpp:24
AWS_CRT_CPP_API const char * EmptySha256
Definition: Sigv4Signing.cpp:23
SignatureType
Definition: Sigv4Signing.h:45
Definition: Credentials.h:111
Definition: Sigv4Signing.h:331
AWS_CRT_CPP_API const char * UnsignedPayload
Definition: Sigv4Signing.cpp:29
AWS_CRT_CPP_API const char * StreamingAws4HmacSha256PayloadStr()
Definition: Sigv4Signing.cpp:36
Definition: Sigv4Signing.h:134
AWS_CRT_CPP_API const char * UnsignedPayloadStr()
Definition: Sigv4Signing.cpp:30
Definition: DateTime.h:52
bool(*)(const Crt::ByteCursor *, void *) ShouldSignHeaderCb
Definition: Sigv4Signing.h:128
Definition: Credentials.h:37
Definition: Allocator.h:10