aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
Signing.h
Go to the documentation of this file.
1#pragma once
7#include <aws/crt/Exports.h>
8
9#include <aws/auth/signing_config.h>
10
11#include <functional>
12#include <memory>
13
14namespace Aws
15{
16 namespace Crt
17 {
18 namespace Http
19 {
20 class HttpRequest;
21 }
22
23 namespace Auth
24 {
26 {
27 Aws = AWS_SIGNING_CONFIG_AWS
28 };
29
35 std::function<void(const std::shared_ptr<Aws::Crt::Http::HttpRequest> &, int)>;
36
42 {
43 public:
44 ISigningConfig() = default;
45 ISigningConfig(const ISigningConfig &) = delete;
49
50 virtual ~ISigningConfig() = default;
51
55 virtual SigningConfigType GetType(void) const = 0;
56 };
57
63 {
64 public:
65 IHttpRequestSigner() = default;
70
71 virtual ~IHttpRequestSigner() = default;
72
73 virtual bool SignRequest(
74 const std::shared_ptr<Aws::Crt::Http::HttpRequest> &request,
75 const ISigningConfig &config,
76 const OnHttpRequestSigningComplete &completionCallback) = 0;
77
81 virtual bool IsValid() const = 0;
82 };
83
84 } // namespace Auth
85 } // namespace Crt
86} // namespace Aws
#define AWS_CRT_CPP_API
Definition: Exports.h:37
Definition: Signing.h:63
IHttpRequestSigner & operator=(const IHttpRequestSigner &)=delete
virtual ~IHttpRequestSigner()=default
IHttpRequestSigner & operator=(IHttpRequestSigner &&)=delete
IHttpRequestSigner(const IHttpRequestSigner &)=delete
virtual bool SignRequest(const std::shared_ptr< Aws::Crt::Http::HttpRequest > &request, const ISigningConfig &config, const OnHttpRequestSigningComplete &completionCallback)=0
virtual bool IsValid() const =0
IHttpRequestSigner(IHttpRequestSigner &&)=delete
Definition: Signing.h:42
ISigningConfig(const ISigningConfig &)=delete
ISigningConfig & operator=(ISigningConfig &&)=delete
ISigningConfig & operator=(const ISigningConfig &)=delete
virtual SigningConfigType GetType(void) const =0
virtual ~ISigningConfig()=default
ISigningConfig(ISigningConfig &&)=delete
SigningConfigType
Definition: Signing.h:26
std::function< void(const std::shared_ptr< Aws::Crt::Http::HttpRequest > &, int)> OnHttpRequestSigningComplete
Definition: Signing.h:35
Definition: Api.h:17