aws-crt-cpp
Signing.h
Go to the documentation of this file.
1 #pragma once
2 /*
3  * Copyright 2010-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License").
6  * You may not use this file except in compliance with the License.
7  * A copy of the License is located at
8  *
9  * http://aws.amazon.com/apache2.0
10  *
11  * or in the "license" file accompanying this file. This file is distributed
12  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13  * express or implied. See the License for the specific language governing
14  * permissions and limitations under the License.
15  */
16 
17 #include <aws/crt/Exports.h>
18 
19 #include <aws/auth/signing_config.h>
20 
21 #include <functional>
22 #include <memory>
23 
24 namespace Aws
25 {
26  namespace Crt
27  {
28  namespace Http
29  {
30  class HttpRequest;
31  }
32 
33  namespace Auth
34  {
35  enum class SigningConfigType
36  {
37  Aws = AWS_SIGNING_CONFIG_AWS
38  };
39 
45  std::function<void(const std::shared_ptr<Aws::Crt::Http::HttpRequest> &, int)>;
46 
52  {
53  public:
54  ISigningConfig() = default;
55  ISigningConfig(const ISigningConfig &) = delete;
59 
60  virtual ~ISigningConfig() = default;
61 
65  virtual SigningConfigType GetType(void) const = 0;
66  };
67 
73  {
74  public:
75  IHttpRequestSigner() = default;
80 
81  virtual ~IHttpRequestSigner() = default;
82 
83  virtual bool SignRequest(
84  const std::shared_ptr<Aws::Crt::Http::HttpRequest> &request,
85  const ISigningConfig &config,
86  const OnHttpRequestSigningComplete &completionCallback) = 0;
87 
91  virtual bool IsValid() const = 0;
92  };
93 
94  } // namespace Auth
95  } // namespace Crt
96 } // namespace Aws
AWS_CRT_CPP_API
#define AWS_CRT_CPP_API
Definition: Exports.h:34
Aws::Crt::Auth::ISigningConfig
Definition: Signing.h:52
Aws::Crt::Auth::SigningConfigType
SigningConfigType
Definition: Signing.h:36
Aws::Crt::Auth::ISigningConfig::operator=
ISigningConfig & operator=(ISigningConfig &&)=delete
Aws::Crt::Http::HttpRequest
Definition: HttpRequestResponse.h:84
Aws::Crt::Auth::IHttpRequestSigner
Definition: Signing.h:73
Aws::Crt::Auth::IHttpRequestSigner::operator=
IHttpRequestSigner & operator=(const IHttpRequestSigner &)=delete
Aws::Crt::Auth::ISigningConfig::ISigningConfig
ISigningConfig(ISigningConfig &&)=delete
Aws::Crt::Auth::IHttpRequestSigner::IHttpRequestSigner
IHttpRequestSigner()=default
Aws::Crt::Auth::ISigningConfig::ISigningConfig
ISigningConfig(const ISigningConfig &)=delete
Aws
Definition: Api.h:25
Aws::Crt::Auth::IHttpRequestSigner::operator=
IHttpRequestSigner & operator=(IHttpRequestSigner &&)=delete
Exports.h
Aws::Crt::Auth::OnHttpRequestSigningComplete
std::function< void(const std::shared_ptr< Aws::Crt::Http::HttpRequest > &, int)> OnHttpRequestSigningComplete
Definition: Signing.h:45
Aws::Crt::Auth::ISigningConfig::GetType
virtual SigningConfigType GetType(void) const =0
Aws::Crt::Auth::IHttpRequestSigner::SignRequest
virtual bool SignRequest(const std::shared_ptr< Aws::Crt::Http::HttpRequest > &request, const ISigningConfig &config, const OnHttpRequestSigningComplete &completionCallback)=0
Aws::Crt::Auth::ISigningConfig::operator=
ISigningConfig & operator=(const ISigningConfig &)=delete
Aws::Crt::Auth::IHttpRequestSigner::IHttpRequestSigner
IHttpRequestSigner(IHttpRequestSigner &&)=delete
Aws::Crt::Auth::IHttpRequestSigner::IHttpRequestSigner
IHttpRequestSigner(const IHttpRequestSigner &)=delete
Aws::Crt::Auth::IHttpRequestSigner::IsValid
virtual bool IsValid() const =0
Aws::Crt::Auth::IHttpRequestSigner::~IHttpRequestSigner
virtual ~IHttpRequestSigner()=default
Aws::Crt::Auth::ISigningConfig::~ISigningConfig
virtual ~ISigningConfig()=default
Aws::Crt::Auth::ISigningConfig::ISigningConfig
ISigningConfig()=default