AWS SDK for C++
AWS SDK for C++
Loading...
Searching...
No Matches
HttpClientFactory.h
Go to the documentation of this file.
1
6#pragma once
7
9
12
13namespace 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
#define AWS_CORE_API
Definition: Core_EXPORTS.h:26
virtual std::shared_ptr< HttpRequest > CreateHttpRequest(const URI &uri, HttpMethod method, const Aws::IOStreamFactory &streamFactory) const =0
virtual std::shared_ptr< HttpClient > CreateHttpClient(const Aws::Client::ClientConfiguration &clientConfiguration) const =0
virtual std::shared_ptr< HttpRequest > CreateHttpRequest(const Aws::String &uri, HttpMethod method, const Aws::IOStreamFactory &streamFactory) const =0
AWS_CORE_API void SetHttpClientFactory(const std::shared_ptr< HttpClientFactory > &factory)
AWS_CORE_API std::shared_ptr< HttpRequest > CreateHttpRequest(const Aws::String &uri, HttpMethod method, const Aws::IOStreamFactory &streamFactory)
AWS_CORE_API std::shared_ptr< HttpClient > CreateHttpClient(const Aws::Client::ClientConfiguration &clientConfiguration)
AWS_CORE_API void CleanupHttp()
AWS_CORE_API void SetInitCleanupCurlFlag(bool initCleanupFlag)
AWS_CORE_API void InitHttp()
AWS_CORE_API void SetInstallSigPipeHandlerFlag(bool installHandler)
std::function< Aws::IOStream *(void) > IOStreamFactory
Definition: AWSStreamFwd.h:25
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97