13struct aws_signing_config_aws;
33 SigV4 = AWS_SIGNING_ALGORITHM_V4,
39 SigV4A = AWS_SIGNING_ALGORITHM_V4_ASYMMETRIC,
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;
337 bool IsValid()
const override {
return true; }
342 virtual bool SignRequest(
343 const std::shared_ptr<Aws::Crt::Http::HttpRequest> &request,
virtual SigningConfigType GetType() const noexcept override
Definition Sigv4Signing.h:140
AwsSigningConfig(Allocator *allocator=ApiAllocator())
Definition Sigv4Signing.cpp:48
Definition Credentials.h:38
Definition Credentials.h:117
IHttpRequestSigner()=default
bool IsValid() const override
Definition Sigv4Signing.h:337
Sigv4HttpRequestSigner(Allocator *allocator=ApiAllocator())
Definition Sigv4Signing.cpp:232
virtual ~Sigv4HttpRequestSigner()=default
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition Sigv4Signing.h:77
AWS_CRT_CPP_API const char * StreamingAws4HmacSha256Payload
Definition Sigv4Signing.cpp:35
AWS_CRT_CPP_API const char * StreamingAws4HmacSha256Events
Definition Sigv4Signing.cpp:41
AWS_CRT_CPP_API const char * EmptySha256Str()
Definition Sigv4Signing.cpp:24
AWS_CRT_CPP_API const char * StreamingAws4HmacSha256EventsStr()
Definition Sigv4Signing.cpp:42
AWS_CRT_CPP_API const char * UnsignedPayload
Definition Sigv4Signing.cpp:29
AWS_CRT_CPP_API const char * StreamingAws4HmacSha256PayloadStr()
Definition Sigv4Signing.cpp:36
AWS_CRT_CPP_API const char * UnsignedPayloadStr()
Definition Sigv4Signing.cpp:30
AWS_CRT_CPP_API const char * EmptySha256
Definition Sigv4Signing.cpp:23
Definition Credentials.h:33
std::function< void(const std::shared_ptr< Aws::Crt::Http::HttpRequest > &, int)> OnHttpRequestSigningComplete
Definition Signing.h:38
SigningAlgorithm
Definition Sigv4Signing.h:28
@ SigV4A
Definition Sigv4Signing.h:39
@ SigV4
Definition Sigv4Signing.h:33
SigningConfigType
Definition Signing.h:30
@ Aws
Definition Signing.h:31
SignedBodyHeaderType
Definition Sigv4Signing.h:116
@ None
Definition Sigv4Signing.h:120
@ XAmzContentSha256
Definition Sigv4Signing.h:125
SignatureType
Definition Sigv4Signing.h:46
@ HttpRequestViaHeaders
Definition Sigv4Signing.h:51
@ HttpRequestViaQueryParams
Definition Sigv4Signing.h:57
@ HttpRequestChunk
Definition Sigv4Signing.h:62
@ HttpRequestEvent
Definition Sigv4Signing.h:69
bool(*)(const Crt::ByteCursor *, void *) ShouldSignHeaderCb
Definition Sigv4Signing.h:128
Definition Allocator.h:13
aws_byte_cursor ByteCursor
Definition Types.h:31
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition Types.h:45
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition Allocator.cpp:24
aws_allocator Allocator
Definition Allocator.h:14
Definition Allocator.h:11
Definition StringView.h:862