9#include <aws/core/endpoint/AWSPartitions.h>
10#include <aws/core/endpoint/EndpointProviderBase.h>
11#include <aws/core/endpoint/EndpointParameter.h>
12#include <aws/core/endpoint/ClientContextParameters.h>
13#include <aws/core/endpoint/BuiltInParameters.h>
14#include <aws/core/utils/memory/stl/AWSArray.h>
16#include <aws/crt/endpoints/RuleEngine.h>
18#include <aws/core/utils/Outcome.h>
19#include <aws/core/client/AWSError.h>
20#include <aws/core/client/CoreErrors.h>
21#include "aws/core/utils/logging/LogMacros.h"
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);
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