AWS SDK for C++  1.8.157
AWS SDK for C++
AWSErrorMarshaller.h
Go to the documentation of this file.
1 
6 #pragma once
7 
10 
11 namespace Aws
12 {
13  namespace Http
14  {
15  class HttpResponse;
16  enum class HttpResponseCode;
17  }
18 
19  namespace Utils
20  {
21  namespace Xml
22  {
23  class XmlDocument;
24  }
25  namespace Json
26  {
27  class JsonValue;
28  }
29  }
30 
31  namespace Client
32  {
33  enum class CoreErrors;
34 
35  template<typename ERROR_TYPE>
36  class AWSError;
37 
42  {
43  public:
44  virtual ~AWSErrorMarshaller() {}
45 
50  virtual AWSError<CoreErrors> Marshall(const Aws::Http::HttpResponse& response) const = 0;
54  virtual AWSError<CoreErrors> FindErrorByName(const char* exceptionName) const;
59  virtual Aws::String ExtractRegion(const AWSError<CoreErrors>&) const { return {}; }
63  virtual Aws::String ExtractEndpoint(const AWSError<CoreErrors>&) const { return {}; }
64  protected:
65  AWSError<CoreErrors> Marshall(const Aws::String& exceptionName, const Aws::String& message) const;
66  };
67 
69  {
71  public:
76  AWSError<CoreErrors> Marshall(const Aws::Http::HttpResponse& response) const override;
77 
78  protected:
80  };
81 
83  {
85  public:
90  AWSError<CoreErrors> Marshall(const Aws::Http::HttpResponse& response) const override;
91 
92  protected:
94  };
95 
96  } // namespace Client
97 } // namespace Aws
Aws::DirectoryService::Model::LDAPSType::NOT_SET
@ NOT_SET
AWS_CORE_API
#define AWS_CORE_API
Definition: Core_EXPORTS.h:25
Aws::Client::AWSErrorMarshaller::~AWSErrorMarshaller
virtual ~AWSErrorMarshaller()
Definition: AWSErrorMarshaller.h:44
Aws::Client::CoreErrors
CoreErrors
Definition: CoreErrors.h:21
Aws::Http::HttpResponse
Definition: HttpResponse.h:132
Aws::Http::HttpResponseCode
HttpResponseCode
Definition: HttpResponse.h:30
Aws::Client::JsonErrorMarshaller::GetJsonPayloadFromError
const Aws::Utils::Json::JsonValue & GetJsonPayloadFromError(const AWSError< CoreErrors > &) const
Aws::Client::JsonErrorMarshaller::Marshall
AWSError< CoreErrors > Marshall(const Aws::Http::HttpResponse &response) const override
Aws::Client::AWSErrorMarshaller::ExtractEndpoint
virtual Aws::String ExtractEndpoint(const AWSError< CoreErrors > &) const
Definition: AWSErrorMarshaller.h:63
Aws::Client::JsonErrorMarshaller
Definition: AWSErrorMarshaller.h:69
Aws::Client::XmlErrorMarshaller
Definition: AWSErrorMarshaller.h:83
Aws::Client::AWSErrorMarshaller::ExtractRegion
virtual Aws::String ExtractRegion(const AWSError< CoreErrors > &) const
Definition: AWSErrorMarshaller.h:59
Aws::Client::AWSErrorMarshaller
Definition: AWSErrorMarshaller.h:42
Aws::Client::AWSErrorMarshaller::FindErrorByName
virtual AWSError< CoreErrors > FindErrorByName(const char *exceptionName) const
Aws::Client::AWSErrorMarshaller::Marshall
virtual AWSError< CoreErrors > Marshall(const Aws::Http::HttpResponse &response) const =0
Aws::Client::AWSErrorMarshaller::FindErrorByHttpResponseCode
virtual AWSError< CoreErrors > FindErrorByHttpResponseCode(Aws::Http::HttpResponseCode code) const
Aws::Client::XmlErrorMarshaller::GetXmlPayloadFromError
const Aws::Utils::Xml::XmlDocument & GetXmlPayloadFromError(const AWSError< CoreErrors > &) const
AWSString.h
Aws::Utils::Json::JsonValue
Definition: JsonSerializer.h:30
Aws::Client::AWSErrorMarshaller::Marshall
AWSError< CoreErrors > Marshall(const Aws::String &exceptionName, const Aws::String &message) const
Aws::Client::AWSError
Definition: AWSError.h:35
Aws::Utils::Xml::XmlDocument
Definition: XmlSerializer.h:156
Core_EXPORTS.h
Aws
Definition: AccessManagementClient.h:15
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::Client::XmlErrorMarshaller::Marshall
AWSError< CoreErrors > Marshall(const Aws::Http::HttpResponse &response) const override