13struct aws_signing_config_aws;
22 class ICredentialsProvider;
33 SigV4 = AWS_SIGNING_ALGORITHM_V4,
39 SigV4A = AWS_SIGNING_ALGORITHM_V4_ASYMMETRIC,
76 namespace SignedBodyValue
109 None = AWS_SBHT_NONE,
154 const Crt::
String &GetRegion() const noexcept;
159 void SetRegion(const Crt::
String ®ion) noexcept;
164 const Crt::
String &GetService() const noexcept;
169 void SetService(const Crt::
String &service) noexcept;
174 DateTime GetSigningTimepoint() const noexcept;
179 void SetSigningTimepoint(const
DateTime &date) noexcept;
191 bool GetUseDoubleUriEncode() const noexcept;
197 void SetUseDoubleUriEncode(
bool useDoubleUriEncode) noexcept;
202 bool GetShouldNormalizeUriPath() const noexcept;
207 void SetShouldNormalizeUriPath(
bool shouldNormalizeUriPath) noexcept;
213 bool GetOmitSessionToken() const noexcept;
219 void SetOmitSessionToken(
bool omitSessionToken) noexcept;
235 void *GetShouldSignHeaderUserData() const noexcept;
240 void SetShouldSignHeaderUserData(
void *userData) noexcept;
246 const Crt::
String &GetSignedBodyValue() const noexcept;
255 void SetSignedBodyValue(const Crt::
String &signedBodyValue) noexcept;
271 uint64_t GetExpirationInSeconds() const noexcept;
276 void SetExpirationInSeconds(uint64_t expirationInSeconds) noexcept;
296 const
std::shared_ptr<
Credentials> &GetCredentials() const noexcept;
301 void SetCredentials(const
std::shared_ptr<
Credentials> &credentials) noexcept;
304 const struct aws_signing_config_aws *GetUnderlyingHandle() const noexcept;
310 struct aws_signing_config_aws m_config;
311 Crt::
String m_signingRegion;
312 Crt::
String m_serviceName;
313 Crt::
String m_signedBodyValue;
326 bool IsValid()
const override {
return true; }
331 virtual bool SignRequest(
332 const std::shared_ptr<Aws::Crt::Http::HttpRequest> &request,
#define AWS_CRT_CPP_API
Definition: Exports.h:37
Definition: Sigv4Signing.h:124
virtual SigningConfigType GetType() const noexcept override
Definition: Sigv4Signing.h:129
Definition: Credentials.h:38
Definition: Credentials.h:105
Definition: Sigv4Signing.h:321
bool IsValid() const override
Definition: Sigv4Signing.h:326
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:28
SigningConfigType
Definition: Signing.h:30
SignedBodyHeaderType
Definition: Sigv4Signing.h:105
std::function< void(const std::shared_ptr< Aws::Crt::Http::HttpRequest > &, int)> OnHttpRequestSigningComplete
Definition: Signing.h:39
bool(*)(const Crt::ByteCursor *, void *) ShouldSignHeaderCb
Definition: Sigv4Signing.h:117
SignatureType
Definition: Sigv4Signing.h:46
@ 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:23
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition: Types.h:47
Definition: StringView.h:851