AWS SDK for C++  1.9.1
AWS SDK for C++
HttpClientFactory.h
Go to the documentation of this file.
1 
6 #pragma once
7 
9 
12 
13 namespace Aws
14 {
15  namespace Client
16  {
17  struct ClientConfiguration;
18  } // namespace Client
19  namespace Http
20  {
21  class URI;
22  class HttpClient;
23  class HttpRequest;
24 
29  {
30  public:
31  virtual ~HttpClientFactory() {}
32 
36  virtual std::shared_ptr<HttpClient> CreateHttpClient(const Aws::Client::ClientConfiguration& clientConfiguration) const = 0;
40  virtual std::shared_ptr<HttpRequest> CreateHttpRequest(const Aws::String& uri, HttpMethod method, const Aws::IOStreamFactory& streamFactory) const = 0;
44  virtual std::shared_ptr<HttpRequest> CreateHttpRequest(const URI& uri, HttpMethod method, const Aws::IOStreamFactory& streamFactory) const = 0;
45 
46  virtual void InitStaticState() {}
47  virtual void CleanupStaticState() {}
48  };
49 
54  AWS_CORE_API void SetInitCleanupCurlFlag(bool initCleanupFlag);
55  AWS_CORE_API void SetInstallSigPipeHandlerFlag(bool installHandler);
58  AWS_CORE_API void SetHttpClientFactory(const std::shared_ptr<HttpClientFactory>& factory);
59  AWS_CORE_API std::shared_ptr<HttpClient> CreateHttpClient(const Aws::Client::ClientConfiguration& clientConfiguration);
60  AWS_CORE_API std::shared_ptr<HttpRequest> CreateHttpRequest(const Aws::String& uri, HttpMethod method, const Aws::IOStreamFactory& streamFactory);
61  AWS_CORE_API std::shared_ptr<HttpRequest> CreateHttpRequest(const URI& uri, HttpMethod method, const Aws::IOStreamFactory& streamFactory);
62 
63  } // namespace Http
64 } // namespace Aws
65 
Aws::DirectoryService::Model::LDAPSType::NOT_SET
@ NOT_SET
Aws::Http::SetHttpClientFactory
AWS_CORE_API void SetHttpClientFactory(const std::shared_ptr< HttpClientFactory > &factory)
Aws::Http::URI
Definition: URI.h:32
AWS_CORE_API
#define AWS_CORE_API
Definition: Core_EXPORTS.h:25
Aws::Http::HttpMethod
HttpMethod
Definition: HttpTypes.h:24
Aws::Http::CreateHttpClient
AWS_CORE_API std::shared_ptr< HttpClient > CreateHttpClient(const Aws::Client::ClientConfiguration &clientConfiguration)
Aws::Http::InitHttp
AWS_CORE_API void InitHttp()
AWSStreamFwd.h
Aws::Http::HttpClientFactory::CreateHttpClient
virtual std::shared_ptr< HttpClient > CreateHttpClient(const Aws::Client::ClientConfiguration &clientConfiguration) const =0
Aws::Client::ClientConfiguration
Definition: ClientConfiguration.h:53
Aws::Http::HttpClientFactory::CleanupStaticState
virtual void CleanupStaticState()
Definition: HttpClientFactory.h:47
Aws::Http::SetInitCleanupCurlFlag
AWS_CORE_API void SetInitCleanupCurlFlag(bool initCleanupFlag)
Aws::Http::HttpClientFactory::CreateHttpRequest
virtual std::shared_ptr< HttpRequest > CreateHttpRequest(const URI &uri, HttpMethod method, const Aws::IOStreamFactory &streamFactory) const =0
Aws::Http::HttpClientFactory
Definition: HttpClientFactory.h:29
Aws::Http::CleanupHttp
AWS_CORE_API void CleanupHttp()
Aws::Http::HttpClientFactory::~HttpClientFactory
virtual ~HttpClientFactory()
Definition: HttpClientFactory.h:31
Core_EXPORTS.h
Aws::Http::SetInstallSigPipeHandlerFlag
AWS_CORE_API void SetInstallSigPipeHandlerFlag(bool installHandler)
Aws
Definition: AccessManagementClient.h:15
Aws::IOStreamFactory
std::function< Aws::IOStream *(void) > IOStreamFactory
Definition: AWSStreamFwd.h:25
HttpTypes.h
Aws::Http::HttpClientFactory::InitStaticState
virtual void InitStaticState()
Definition: HttpClientFactory.h:46
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::Http::CreateHttpRequest
AWS_CORE_API std::shared_ptr< HttpRequest > CreateHttpRequest(const Aws::String &uri, HttpMethod method, const Aws::IOStreamFactory &streamFactory)
Aws::Http::HttpClientFactory::CreateHttpRequest
virtual std::shared_ptr< HttpRequest > CreateHttpRequest(const Aws::String &uri, HttpMethod method, const Aws::IOStreamFactory &streamFactory) const =0