16#include <aws/crt/endpoints/RuleEngine.h>
46 template<
typename ClientConfigurationT = Aws::Client::GenericClientConfiguration<false>,
47 typename BuiltInParametersT = Aws::Endpo
int::BuiltInParameters,
48 typename ClientContextParametersT = Aws::Endpo
int::ClientContextParameters>
53 : m_crtRuleEngine(
Aws::Crt::ByteCursorFromArray((const uint8_t*) endpointRulesBlob, endpointRulesBlobSz),
56 if(!m_crtRuleEngine) {
67 m_builtInParameters.SetFromClientConfiguration(config);
76 return ResolveEndpointDefaultImpl(m_crtRuleEngine, m_builtInParameters.GetAllParameters(), m_clientContextParameters.GetAllParameters(), endpointParameters);
81 return m_clientContextParameters;
85 return m_clientContextParameters;
90 return m_builtInParameters;
94 return m_builtInParameters;
99 m_builtInParameters.OverrideEndpoint(endpoint);
#define AWS_LOGSTREAM_FATAL(tag, streamExpression)
DefaultEndpointProvider(const char *endpointRulesBlob, const size_t endpointRulesBlobSz)
ResolveEndpointOutcome ResolveEndpoint(const EndpointParameters &endpointParameters) const override
ClientContextParametersT m_clientContextParameters
const ClientContextParametersT & GetClientContextParameters() const override
void InitBuiltInParameters(const ClientConfigurationT &config) override
const BuiltInParametersT & GetBuiltInParameters() const
BuiltInParametersT m_builtInParameters
Aws::Crt::Endpoints::RuleEngine m_crtRuleEngine
virtual ~DefaultEndpointProvider()
BuiltInParametersT & AccessBuiltInParameters()
ClientContextParametersT & AccessClientContextParameters() override
void OverrideEndpoint(const Aws::String &endpoint) override
AWS_CORE_API ResolveEndpointOutcome ResolveEndpointDefaultImpl(const Aws::Crt::Endpoints::RuleEngine &ruleEngine, const EndpointParameters &builtInParameters, const EndpointParameters &clientContextParameters, const EndpointParameters &endpointParameters)
Aws::Vector< Aws::Endpoint::EndpointParameter > EndpointParameters
static const char DEFAULT_ENDPOINT_PROVIDER_TAG[]
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String