AWS SDK for C++  1.9.107
AWS SDK for C++
IXmlHttpRequest2HttpClient.h
Go to the documentation of this file.
1 
6 #pragma once
7 
12 
13 #include <wrl.h>
14 
15 struct IXMLHTTPRequest2;
16 
17 namespace Aws
18 {
19  namespace Http
20  {
21  typedef Microsoft::WRL::ComPtr<IXMLHTTPRequest2> HttpRequestComHandle;
22 
30  {
31  public:
38 
42  virtual std::shared_ptr<HttpResponse> MakeRequest(const std::shared_ptr<HttpRequest>& request,
43  Aws::Utils::RateLimits::RateLimiterInterface* readLimiter = nullptr,
44  Aws::Utils::RateLimits::RateLimiterInterface* writeLimiter = nullptr) const override;
45 
50  static void InitCOM();
51 
55  virtual bool SupportsChunkedTransferEncoding() const override { return false; }
56 
57  protected:
63 
64  private:
65  void FillClientSettings(const HttpRequestComHandle&) const;
66 
67  //we can't reuse these com objects like we do in other http clients, just put a new one back into the resource manager.
68  void ReturnHandleToResourceManager() const;
69 
71  Aws::String m_proxyUserName;
72  Aws::String m_proxyPassword;
73  size_t m_poolSize;
74  bool m_followRedirects;
75  bool m_verifySSL;
76  size_t m_totalTimeoutMs;
77  };
78  }
79 }
80 
AWS_CORE_API
#define AWS_CORE_API
Definition: Core_EXPORTS.h:25
Aws::Http::IXmlHttpRequest2HttpClient::MakeRequest
virtual std::shared_ptr< HttpResponse > MakeRequest(const std::shared_ptr< HttpRequest > &request, Aws::Utils::RateLimits::RateLimiterInterface *readLimiter=nullptr, Aws::Utils::RateLimits::RateLimiterInterface *writeLimiter=nullptr) const override
ResourceManager.h
HttpRequest.h
Aws::Http::IXmlHttpRequest2HttpClient::IXmlHttpRequest2HttpClient
IXmlHttpRequest2HttpClient(const Aws::Client::ClientConfiguration &clientConfiguration)
Aws::Http::IXmlHttpRequest2HttpClient::SupportsChunkedTransferEncoding
virtual bool SupportsChunkedTransferEncoding() const override
Definition: IXmlHttpRequest2HttpClient.h:55
Aws::Http::IXmlHttpRequest2HttpClient
Definition: IXmlHttpRequest2HttpClient.h:30
Aws::Client::ClientConfiguration
Definition: ClientConfiguration.h:53
Aws::Utils::ExclusiveOwnershipResourceManager< HttpRequestComHandle >
HttpClient.h
Aws::Http::IXmlHttpRequest2HttpClient::InitCOM
static void InitCOM()
Aws::Http::HttpClient
Definition: HttpClient.h:34
ClientConfiguration.h
Aws
Definition: AccessManagementClient.h:15
Aws::Utils::RateLimits::RateLimiterInterface
Definition: RateLimiterInterface.h:24
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::Http::HttpRequestComHandle
Microsoft::WRL::ComPtr< IXMLHTTPRequest2 > HttpRequestComHandle
Definition: IXmlHttpRequest2HttpClient.h:21
Aws::Http::IXmlHttpRequest2HttpClient::~IXmlHttpRequest2HttpClient
virtual ~IXmlHttpRequest2HttpClient()
Aws::Http::IXmlHttpRequest2HttpClient::OverrideOptionsOnRequestHandle
virtual void OverrideOptionsOnRequestHandle(const HttpRequestComHandle &) const
Definition: IXmlHttpRequest2HttpClient.h:62