AWS IoT Device SDK C++ v2 1.44.1
AWS IoT Device SDK C++ v2
Loading...
Searching...
No Matches
HttpProxyStrategy.h
Go to the documentation of this file.
1#pragma once
6
7#include <aws/crt/Types.h>
8
9#include <memory>
10
11struct aws_http_proxy_strategy;
12
13namespace Aws
14{
15 namespace Crt
16 {
17 namespace Http
18 {
20
44
45 using KerberosGetTokenFunction = std::function<bool(String &)>;
46 using NtlmGetTokenFunction = std::function<bool(const String &, String &)>;
47
76
82 {
83 public:
84 HttpProxyStrategy(struct aws_http_proxy_strategy *strategy);
85 virtual ~HttpProxyStrategy();
86
88 struct aws_http_proxy_strategy *GetUnderlyingHandle() const noexcept { return m_strategy; }
89
96 static std::shared_ptr<HttpProxyStrategy> CreateBasicHttpProxyStrategy(
98 Allocator *allocator = ApiAllocator());
99
107 static std::shared_ptr<HttpProxyStrategy> CreateAdaptiveHttpProxyStrategy(
109 Allocator *allocator = ApiAllocator());
110
111 protected:
112 struct aws_http_proxy_strategy *m_strategy;
113 };
114 } // namespace Http
115 } // namespace Crt
116} // namespace Aws
struct aws_http_proxy_strategy * m_strategy
Definition HttpProxyStrategy.h:112
static std::shared_ptr< HttpProxyStrategy > CreateBasicHttpProxyStrategy(const HttpProxyStrategyBasicAuthConfig &config, Allocator *allocator=ApiAllocator())
Definition HttpProxyStrategy.cpp:29
static std::shared_ptr< HttpProxyStrategy > CreateAdaptiveHttpProxyStrategy(const HttpProxyStrategyAdaptiveConfig &config, Allocator *allocator=ApiAllocator())
Definition HttpProxyStrategy.cpp:154
HttpProxyStrategy(struct aws_http_proxy_strategy *strategy)
Definition HttpProxyStrategy.cpp:17
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition Credentials.h:28
std::function< bool(const String &, String &)> NtlmGetTokenFunction
Definition HttpProxyStrategy.h:46
AwsHttpProxyConnectionType
Definition HttpConnection.h:272
std::function< bool(String &)> KerberosGetTokenFunction
Definition HttpProxyStrategy.h:45
Definition Allocator.h:13
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition Types.h:45
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition Allocator.cpp:24
aws_allocator Allocator
Definition Allocator.h:14
Definition Allocator.h:11
Definition HttpProxyStrategy.h:58
KerberosGetTokenFunction NtlmGetCredential
Definition HttpProxyStrategy.h:69
HttpProxyStrategyAdaptiveConfig()
Definition HttpProxyStrategy.h:59
KerberosGetTokenFunction KerberosGetToken
Definition HttpProxyStrategy.h:64
NtlmGetTokenFunction NtlmGetToken
Definition HttpProxyStrategy.h:74
Definition HttpProxyStrategy.h:25
HttpProxyStrategyBasicAuthConfig()
Definition HttpProxyStrategy.cpp:24
String Username
Definition HttpProxyStrategy.h:37
AwsHttpProxyConnectionType ConnectionType
Definition HttpProxyStrategy.h:32
String Password
Definition HttpProxyStrategy.h:42