aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
HttpProxyStrategy.h
Go to the documentation of this file.
1#pragma once
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
25 {
27
33
38
43 };
44
45 using KerberosGetTokenFunction = std::function<bool(String &)>;
46 using NtlmGetTokenFunction = std::function<bool(const String &, String &)>;
47
58 {
59 HttpProxyStrategyAdaptiveConfig() : KerberosGetToken(), NtlmGetCredential(), NtlmGetToken() {}
60
65
70
75 };
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 = g_allocator);
99
107 static std::shared_ptr<HttpProxyStrategy> CreateAdaptiveHttpProxyStrategy(
109 Allocator *allocator = g_allocator);
110
111 protected:
112 struct aws_http_proxy_strategy *m_strategy;
113 };
114 } // namespace Http
115 } // namespace Crt
116} // namespace Aws
#define AWS_CRT_CPP_API
Definition: Exports.h:37
Definition: HttpProxyStrategy.h:82
struct aws_http_proxy_strategy * m_strategy
Definition: HttpProxyStrategy.h:112
AwsHttpProxyConnectionType
Definition: HttpConnection.h:243
std::function< bool(String &)> KerberosGetTokenFunction
Definition: HttpProxyStrategy.h:45
std::function< bool(const String &, String &)> NtlmGetTokenFunction
Definition: HttpProxyStrategy.h:46
aws_allocator Allocator
Definition: StlAllocator.h:17
AWS_CRT_CPP_API Allocator * g_allocator
Definition: Api.cpp:23
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition: Types.h:47
Definition: Api.h:14
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
String Username
Definition: HttpProxyStrategy.h:37
AwsHttpProxyConnectionType ConnectionType
Definition: HttpProxyStrategy.h:32
String Password
Definition: HttpProxyStrategy.h:42