AWS SDK for C++

AWS SDK for C++ Version 1.11.851

Loading...
Searching...
No Matches
HttpClientFactory.h
1
6#pragma once
7
8#include <aws/core/Core_EXPORTS.h>
9
10#include <aws/core/http/HttpTypes.h>
11#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
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
28 class AWS_CORE_API HttpClientFactory
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);
56 AWS_CORE_API void InitHttp();
57 AWS_CORE_API void CleanupHttp();
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
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
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition AWSString.h:97