/proc/self/cwd/source/common/config/utility.h
Line | Count | Source (jump to first uncovered line) |
1 | | #pragma once |
2 | | |
3 | | #include "envoy/api/api.h" |
4 | | #include "envoy/common/random_generator.h" |
5 | | #include "envoy/config/bootstrap/v3/bootstrap.pb.h" |
6 | | #include "envoy/config/cluster/v3/cluster.pb.h" |
7 | | #include "envoy/config/core/v3/address.pb.h" |
8 | | #include "envoy/config/core/v3/config_source.pb.h" |
9 | | #include "envoy/config/endpoint/v3/endpoint.pb.h" |
10 | | #include "envoy/config/grpc_mux.h" |
11 | | #include "envoy/config/subscription.h" |
12 | | #include "envoy/local_info/local_info.h" |
13 | | #include "envoy/registry/registry.h" |
14 | | #include "envoy/server/filter_config.h" |
15 | | #include "envoy/upstream/cluster_manager.h" |
16 | | |
17 | | #include "source/common/common/assert.h" |
18 | | #include "source/common/common/backoff_strategy.h" |
19 | | #include "source/common/common/hash.h" |
20 | | #include "source/common/common/hex.h" |
21 | | #include "source/common/common/utility.h" |
22 | | #include "source/common/protobuf/protobuf.h" |
23 | | #include "source/common/protobuf/utility.h" |
24 | | #include "source/common/runtime/runtime_features.h" |
25 | | #include "source/common/singleton/const_singleton.h" |
26 | | #include "source/common/version/api_version.h" |
27 | | #include "source/common/version/api_version_struct.h" |
28 | | |
29 | | #include "absl/types/optional.h" |
30 | | #include "udpa/type/v1/typed_struct.pb.h" |
31 | | #include "xds/type/v3/typed_struct.pb.h" |
32 | | |
33 | | namespace Envoy { |
34 | | namespace Config { |
35 | | |
36 | | constexpr absl::string_view Wildcard = "*"; |
37 | | |
38 | | /** |
39 | | * Constant Api Type Values, used by envoy::config::core::v3::ApiConfigSource. |
40 | | */ |
41 | | class ApiTypeValues { |
42 | | public: |
43 | | const std::string UnsupportedRestLegacy{"REST_LEGACY"}; |
44 | | const std::string Rest{"REST"}; |
45 | | const std::string Grpc{"GRPC"}; |
46 | | }; |
47 | | |
48 | | /** |
49 | | * RateLimitSettings for discovery requests. |
50 | | */ |
51 | | struct RateLimitSettings { |
52 | | // Default Max Tokens. |
53 | | static const uint32_t DefaultMaxTokens = 100; |
54 | | // Default Fill Rate. |
55 | | static constexpr double DefaultFillRate = 10; |
56 | | |
57 | | uint32_t max_tokens_{DefaultMaxTokens}; |
58 | | double fill_rate_{DefaultFillRate}; |
59 | | bool enabled_{false}; |
60 | | }; |
61 | | |
62 | | using ApiType = ConstSingleton<ApiTypeValues>; |
63 | | |
64 | | /** |
65 | | * General config API utilities. |
66 | | */ |
67 | | class Utility { |
68 | | public: |
69 | | /** |
70 | | * Legacy APIs uses JSON and do not have an explicit version. |
71 | | * @param input the input to hash. |
72 | | * @return std::pair<std::string, uint64_t> the string is the hash converted into |
73 | | * a hex string, pre-pended by a user friendly prefix. The uint64_t is the |
74 | | * raw hash. |
75 | | */ |
76 | 0 | static std::pair<std::string, uint64_t> computeHashedVersion(const std::string& input) { |
77 | 0 | uint64_t hash = HashUtil::xxHash64(input); |
78 | 0 | return std::make_pair("hash_" + Hex::uint64ToHex(hash), hash); |
79 | 0 | } |
80 | | |
81 | | /** |
82 | | * Extract initial_fetch_timeout as a std::chrono::milliseconds from |
83 | | * envoy::config::core::v3::ApiConfigSource. If request_timeout isn't set in the config source, a |
84 | | * default value of 15s will be returned. |
85 | | */ |
86 | | static std::chrono::milliseconds |
87 | | configSourceInitialFetchTimeout(const envoy::config::core::v3::ConfigSource& config_source); |
88 | | |
89 | | /** |
90 | | * Check cluster info for API config sanity. |
91 | | * @param error_prefix supplies the prefix to use in error messages. |
92 | | * @param cluster_name supplies the cluster name to check. |
93 | | * @param cm supplies the cluster manager. |
94 | | * @param allow_added_via_api indicates whether a cluster is allowed to be added via api |
95 | | * rather than be a static resource from the bootstrap config. |
96 | | * @return the main thread cluster if it exists, or an error status if problematic. |
97 | | */ |
98 | | static absl::StatusOr<Upstream::ClusterConstOptRef> |
99 | | checkCluster(absl::string_view error_prefix, absl::string_view cluster_name, |
100 | | Upstream::ClusterManager& cm, bool allow_added_via_api = false); |
101 | | |
102 | | /** |
103 | | * Check local info for API config sanity. |
104 | | * @param error_prefix supplies the prefix to use in error messages. |
105 | | * @param local_info supplies the local info. |
106 | | * @return a status indicating if the config is sane. |
107 | | */ |
108 | | static absl::Status checkLocalInfo(absl::string_view error_prefix, |
109 | | const LocalInfo::LocalInfo& local_info); |
110 | | |
111 | | /** |
112 | | * Check the existence of a path for a filesystem subscription. |
113 | | * @param path the path to validate. |
114 | | * @param api reference to the Api object |
115 | | * @return a status indicating if the path exists. |
116 | | */ |
117 | | static absl::Status checkFilesystemSubscriptionBackingPath(const std::string& path, |
118 | | Api::Api& api); |
119 | | |
120 | | /** |
121 | | * Check the validity of a cluster backing an api config source. Throws on error. |
122 | | * @param primary_clusters the API config source eligible clusters. |
123 | | * @param cluster_name the cluster name to validate. |
124 | | * @param config_source the config source typed name. |
125 | | * @returns failure when an API config doesn't have a statically defined non-EDS cluster. |
126 | | */ |
127 | | static absl::Status |
128 | | validateClusterName(const Upstream::ClusterManager::ClusterSet& primary_clusters, |
129 | | const std::string& cluster_name, const std::string& config_source); |
130 | | |
131 | | /** |
132 | | * Potentially calls Utility::validateClusterName, if a cluster name can be found. |
133 | | * @param primary_clusters the API config source eligible clusters. |
134 | | * @param api_config_source the config source to validate. |
135 | | * @return a status indicating if config is valid. |
136 | | */ |
137 | | static absl::Status checkApiConfigSourceSubscriptionBackingCluster( |
138 | | const Upstream::ClusterManager::ClusterSet& primary_clusters, |
139 | | const envoy::config::core::v3::ApiConfigSource& api_config_source); |
140 | | |
141 | | /** |
142 | | * Gets the gRPC control plane management server from the API config source. The result is either |
143 | | * a cluster name or a host name. |
144 | | * @param api_config_source the config source to validate. |
145 | | * @return the gRPC control plane server, or absl::nullopt if it couldn't be extracted. |
146 | | */ |
147 | | static absl::optional<std::string> |
148 | | getGrpcControlPlane(const envoy::config::core::v3::ApiConfigSource& api_config_source); |
149 | | |
150 | | /** |
151 | | * Validate transport_api_version field in ApiConfigSource. |
152 | | * @param api_config_source the config source to extract transport API version from. |
153 | | * @returns a failure status when the transport version is disabled. |
154 | | */ |
155 | 1.72k | template <class Proto> static absl::Status checkTransportVersion(const Proto& api_config_source) { |
156 | 1.72k | const auto transport_api_version = api_config_source.transport_api_version(); |
157 | 1.72k | ASSERT_IS_MAIN_OR_TEST_THREAD(); |
158 | 1.72k | if (transport_api_version != envoy::config::core::v3::ApiVersion::AUTO && |
159 | 1.72k | transport_api_version != envoy::config::core::v3::ApiVersion::V3) { |
160 | 9 | const std::string& warning = fmt::format( |
161 | 9 | "V2 xDS transport protocol version is deprecated in {}. " |
162 | 9 | "The v2 xDS major version has been removed and is no longer supported. " |
163 | 9 | "See the advice in https://www.envoyproxy.io/docs/envoy/latest/faq/api/envoy_v3.", |
164 | 9 | api_config_source.DebugString()); |
165 | 9 | ENVOY_LOG_MISC(warn, warning); |
166 | 9 | return absl::InvalidArgumentError(warning); |
167 | 9 | } |
168 | 1.71k | return absl::OkStatus(); |
169 | 1.72k | } absl::lts_20230802::Status Envoy::Config::Utility::checkTransportVersion<envoy::config::core::v3::ApiConfigSource>(envoy::config::core::v3::ApiConfigSource const&) Line | Count | Source | 155 | 1.70k | template <class Proto> static absl::Status checkTransportVersion(const Proto& api_config_source) { | 156 | 1.70k | const auto transport_api_version = api_config_source.transport_api_version(); | 157 | 1.70k | ASSERT_IS_MAIN_OR_TEST_THREAD(); | 158 | 1.70k | if (transport_api_version != envoy::config::core::v3::ApiVersion::AUTO && | 159 | 1.70k | transport_api_version != envoy::config::core::v3::ApiVersion::V3) { | 160 | 6 | const std::string& warning = fmt::format( | 161 | 6 | "V2 xDS transport protocol version is deprecated in {}. " | 162 | 6 | "The v2 xDS major version has been removed and is no longer supported. " | 163 | 6 | "See the advice in https://www.envoyproxy.io/docs/envoy/latest/faq/api/envoy_v3.", | 164 | 6 | api_config_source.DebugString()); | 165 | 6 | ENVOY_LOG_MISC(warn, warning); | 166 | 6 | return absl::InvalidArgumentError(warning); | 167 | 6 | } | 168 | 1.70k | return absl::OkStatus(); | 169 | 1.70k | } |
Unexecuted instantiation: absl::lts_20230802::Status Envoy::Config::Utility::checkTransportVersion<envoy::extensions::access_loggers::grpc::v3::CommonGrpcAccessLogConfig>(envoy::extensions::access_loggers::grpc::v3::CommonGrpcAccessLogConfig const&) Unexecuted instantiation: absl::lts_20230802::Status Envoy::Config::Utility::checkTransportVersion<envoy::extensions::filters::http::ext_authz::v3::ExtAuthz>(envoy::extensions::filters::http::ext_authz::v3::ExtAuthz const&) absl::lts_20230802::Status Envoy::Config::Utility::checkTransportVersion<envoy::config::ratelimit::v3::RateLimitServiceConfig>(envoy::config::ratelimit::v3::RateLimitServiceConfig const&) Line | Count | Source | 155 | 7 | template <class Proto> static absl::Status checkTransportVersion(const Proto& api_config_source) { | 156 | 7 | const auto transport_api_version = api_config_source.transport_api_version(); | 157 | 7 | ASSERT_IS_MAIN_OR_TEST_THREAD(); | 158 | 7 | if (transport_api_version != envoy::config::core::v3::ApiVersion::AUTO && | 159 | 7 | transport_api_version != envoy::config::core::v3::ApiVersion::V3) { | 160 | 1 | const std::string& warning = fmt::format( | 161 | 1 | "V2 xDS transport protocol version is deprecated in {}. " | 162 | 1 | "The v2 xDS major version has been removed and is no longer supported. " | 163 | 1 | "See the advice in https://www.envoyproxy.io/docs/envoy/latest/faq/api/envoy_v3.", | 164 | 1 | api_config_source.DebugString()); | 165 | 1 | ENVOY_LOG_MISC(warn, warning); | 166 | 1 | return absl::InvalidArgumentError(warning); | 167 | 1 | } | 168 | 6 | return absl::OkStatus(); | 169 | 7 | } |
absl::lts_20230802::Status Envoy::Config::Utility::checkTransportVersion<envoy::extensions::filters::network::ext_authz::v3::ExtAuthz>(envoy::extensions::filters::network::ext_authz::v3::ExtAuthz const&) Line | Count | Source | 155 | 7 | template <class Proto> static absl::Status checkTransportVersion(const Proto& api_config_source) { | 156 | 7 | const auto transport_api_version = api_config_source.transport_api_version(); | 157 | 7 | ASSERT_IS_MAIN_OR_TEST_THREAD(); | 158 | 7 | if (transport_api_version != envoy::config::core::v3::ApiVersion::AUTO && | 159 | 7 | transport_api_version != envoy::config::core::v3::ApiVersion::V3) { | 160 | 2 | const std::string& warning = fmt::format( | 161 | 2 | "V2 xDS transport protocol version is deprecated in {}. " | 162 | 2 | "The v2 xDS major version has been removed and is no longer supported. " | 163 | 2 | "See the advice in https://www.envoyproxy.io/docs/envoy/latest/faq/api/envoy_v3.", | 164 | 2 | api_config_source.DebugString()); | 165 | 2 | ENVOY_LOG_MISC(warn, warning); | 166 | 2 | return absl::InvalidArgumentError(warning); | 167 | 2 | } | 168 | 5 | return absl::OkStatus(); | 169 | 7 | } |
Unexecuted instantiation: absl::lts_20230802::Status Envoy::Config::Utility::checkTransportVersion<envoy::config::metrics::v3::MetricsServiceConfig>(envoy::config::metrics::v3::MetricsServiceConfig const&) |
170 | | |
171 | | /** |
172 | | * Parses RateLimit configuration from envoy::config::core::v3::ApiConfigSource to |
173 | | * RateLimitSettings. |
174 | | * @param api_config_source ApiConfigSource. |
175 | | * @return absl::StatusOr<RateLimitSettings> - returns an error when an |
176 | | * invalid RateLimit config settings are provided. |
177 | | */ |
178 | | static absl::StatusOr<RateLimitSettings> |
179 | | parseRateLimitSettings(const envoy::config::core::v3::ApiConfigSource& api_config_source); |
180 | | |
181 | | /** |
182 | | * Generate a ControlPlaneStats object from stats scope. |
183 | | * @param scope for stats. |
184 | | * @return ControlPlaneStats for scope. |
185 | | */ |
186 | 1.35k | static ControlPlaneStats generateControlPlaneStats(Stats::Scope& scope) { |
187 | 1.35k | const std::string control_plane_prefix = "control_plane."; |
188 | 1.35k | return {ALL_CONTROL_PLANE_STATS(POOL_COUNTER_PREFIX(scope, control_plane_prefix), |
189 | 1.35k | POOL_GAUGE_PREFIX(scope, control_plane_prefix), |
190 | 1.35k | POOL_TEXT_READOUT_PREFIX(scope, control_plane_prefix))}; |
191 | 1.35k | } |
192 | | |
193 | | /** |
194 | | * Generate a SubscriptionStats object from stats scope. |
195 | | * @param scope for stats. |
196 | | * @return SubscriptionStats for scope. |
197 | | */ |
198 | 4.45k | static SubscriptionStats generateStats(Stats::Scope& scope) { |
199 | 4.45k | return {ALL_SUBSCRIPTION_STATS(POOL_COUNTER(scope), POOL_GAUGE(scope), POOL_TEXT_READOUT(scope), |
200 | 4.45k | POOL_HISTOGRAM(scope))}; |
201 | 4.45k | } |
202 | | |
203 | | /** |
204 | | * Get a Factory from the registry with a particular name (and templated type) with error checking |
205 | | * to ensure the name and factory are valid. |
206 | | * @param name string identifier for the particular implementation. |
207 | | * @param is_optional exception will be throw when the value is false and no factory found. |
208 | | * @return factory the factory requested or nullptr if it does not exist. |
209 | | */ |
210 | | template <class Factory> |
211 | 16.3k | static Factory* getAndCheckFactoryByName(const std::string& name, bool is_optional) { |
212 | 16.3k | if (name.empty()) { |
213 | 0 | ExceptionUtil::throwEnvoyException("Provided name for static registration lookup was empty."); |
214 | 0 | } |
215 | | |
216 | 16.3k | Factory* factory = Registry::FactoryRegistry<Factory>::getFactory(name); |
217 | | |
218 | 16.3k | if (factory == nullptr && !is_optional) { |
219 | 2.48k | ExceptionUtil::throwEnvoyException( |
220 | 2.48k | fmt::format("Didn't find a registered implementation for name: '{}'", name)); |
221 | 2.48k | } |
222 | | |
223 | 16.3k | return factory; |
224 | 16.3k | } Unexecuted instantiation: Envoy::Upstream::HealthCheckEventSinkFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Upstream::HealthCheckEventSinkFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Upstream::UpstreamLocalAddressSelectorFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Upstream::UpstreamLocalAddressSelectorFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Upstream::TypedLoadBalancerFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Upstream::TypedLoadBalancerFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::CustomHealthCheckerFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::CustomHealthCheckerFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Ssl::HandshakerFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Ssl::HandshakerFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Envoy::Server::Configuration::NamedHttpFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::NamedHttpFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Line | Count | Source | 211 | 884 | static Factory* getAndCheckFactoryByName(const std::string& name, bool is_optional) { | 212 | 884 | if (name.empty()) { | 213 | 0 | ExceptionUtil::throwEnvoyException("Provided name for static registration lookup was empty."); | 214 | 0 | } | 215 | | | 216 | 884 | Factory* factory = Registry::FactoryRegistry<Factory>::getFactory(name); | 217 | | | 218 | 884 | if (factory == nullptr && !is_optional) { | 219 | 0 | ExceptionUtil::throwEnvoyException( | 220 | 0 | fmt::format("Didn't find a registered implementation for name: '{}'", name)); | 221 | 0 | } | 222 | | | 223 | 884 | return factory; | 224 | 884 | } |
Unexecuted instantiation: Envoy::QuicHttpServerConnectionFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::QuicHttpServerConnectionFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Formatter::HttpFormatterContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Formatter::HttpFormatterContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::CommonProtocolInputFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::CommonProtocolInputFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::InputMatcherFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::InputMatcherFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Upstream::RetryHostPredicateFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Upstream::RetryHostPredicateFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Upstream::RetryPriorityFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Upstream::RetryPriorityFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Upstream::RetryOptionsPredicateFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Upstream::RetryOptionsPredicateFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Router::InternalRedirectPredicateFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Router::InternalRedirectPredicateFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Router::EarlyDataPolicyFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Router::EarlyDataPolicyFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Router::PathRewriterFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Router::PathRewriterFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Router::PathMatcherFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Router::PathMatcherFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Config::ConfigValidatorFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Config::ConfigValidatorFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::TracerFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::TracerFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Network::DnsResolverFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Network::DnsResolverFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matchers::StringMatcherExtensionFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matchers::StringMatcherExtensionFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::GuardDogActionFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::GuardDogActionFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::BootstrapExtensionFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::BootstrapExtensionFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::FatalActionFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::FatalActionFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Envoy::Server::ListenerManagerFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::ListenerManagerFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Line | Count | Source | 211 | 6.93k | static Factory* getAndCheckFactoryByName(const std::string& name, bool is_optional) { | 212 | 6.93k | if (name.empty()) { | 213 | 0 | ExceptionUtil::throwEnvoyException("Provided name for static registration lookup was empty."); | 214 | 0 | } | 215 | | | 216 | 6.93k | Factory* factory = Registry::FactoryRegistry<Factory>::getFactory(name); | 217 | | | 218 | 6.93k | if (factory == nullptr && !is_optional) { | 219 | 2.48k | ExceptionUtil::throwEnvoyException( | 220 | 2.48k | fmt::format("Didn't find a registered implementation for name: '{}'", name)); | 221 | 2.48k | } | 222 | | | 223 | 6.93k | return factory; | 224 | 6.93k | } |
Unexecuted instantiation: Envoy::Regex::EngineFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Regex::EngineFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Config::XdsResourcesDelegateFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Config::XdsResourcesDelegateFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Config::XdsConfigTrackerFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Config::XdsConfigTrackerFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::KeyValueStoreFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::KeyValueStoreFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Envoy::Server::Configuration::NamedListenerFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::NamedListenerFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Line | Count | Source | 211 | 82 | static Factory* getAndCheckFactoryByName(const std::string& name, bool is_optional) { | 212 | 82 | if (name.empty()) { | 213 | 0 | ExceptionUtil::throwEnvoyException("Provided name for static registration lookup was empty."); | 214 | 0 | } | 215 | | | 216 | 82 | Factory* factory = Registry::FactoryRegistry<Factory>::getFactory(name); | 217 | | | 218 | 82 | if (factory == nullptr && !is_optional) { | 219 | 0 | ExceptionUtil::throwEnvoyException( | 220 | 0 | fmt::format("Didn't find a registered implementation for name: '{}'", name)); | 221 | 0 | } | 222 | | | 223 | 82 | return factory; | 224 | 82 | } |
Envoy::Server::Configuration::NamedNetworkFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::NamedNetworkFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Line | Count | Source | 211 | 8.40k | static Factory* getAndCheckFactoryByName(const std::string& name, bool is_optional) { | 212 | 8.40k | if (name.empty()) { | 213 | 0 | ExceptionUtil::throwEnvoyException("Provided name for static registration lookup was empty."); | 214 | 0 | } | 215 | | | 216 | 8.40k | Factory* factory = Registry::FactoryRegistry<Factory>::getFactory(name); | 217 | | | 218 | 8.40k | if (factory == nullptr && !is_optional) { | 219 | 0 | ExceptionUtil::throwEnvoyException( | 220 | 0 | fmt::format("Didn't find a registered implementation for name: '{}'", name)); | 221 | 0 | } | 222 | | | 223 | 8.40k | return factory; | 224 | 8.40k | } |
Unexecuted instantiation: Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::NamedUdpListenerFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::NamedUdpListenerFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::StatsSinkFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::StatsSinkFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Quic::EnvoyQuicCryptoServerStreamFactoryInterface* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Quic::EnvoyQuicCryptoServerStreamFactoryInterface>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Quic::EnvoyQuicProofSourceFactoryInterface* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Quic::EnvoyQuicProofSourceFactoryInterface>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Quic::EnvoyQuicConnectionDebugVisitorFactoryInterface* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Quic::EnvoyQuicConnectionDebugVisitorFactoryInterface>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Quic::EnvoyQuicConnectionIdGeneratorConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Quic::EnvoyQuicConnectionIdGeneratorConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Quic::EnvoyQuicServerPreferredAddressConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Quic::EnvoyQuicServerPreferredAddressConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Ssl::TlsCertificateSelectorConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Ssl::TlsCertificateSelectorConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::ProactiveResourceMonitorFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::ProactiveResourceMonitorFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::ResourceMonitorFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::ResourceMonitorFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Envoy::Extensions::NetworkFilters::ThriftProxy::NamedTransportConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::ThriftProxy::NamedTransportConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Line | Count | Source | 211 | 5 | static Factory* getAndCheckFactoryByName(const std::string& name, bool is_optional) { | 212 | 5 | if (name.empty()) { | 213 | 0 | ExceptionUtil::throwEnvoyException("Provided name for static registration lookup was empty."); | 214 | 0 | } | 215 | | | 216 | 5 | Factory* factory = Registry::FactoryRegistry<Factory>::getFactory(name); | 217 | | | 218 | 5 | if (factory == nullptr && !is_optional) { | 219 | 0 | ExceptionUtil::throwEnvoyException( | 220 | 0 | fmt::format("Didn't find a registered implementation for name: '{}'", name)); | 221 | 0 | } | 222 | | | 223 | 5 | return factory; | 224 | 5 | } |
Envoy::Extensions::NetworkFilters::ThriftProxy::NamedProtocolConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::ThriftProxy::NamedProtocolConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Line | Count | Source | 211 | 5 | static Factory* getAndCheckFactoryByName(const std::string& name, bool is_optional) { | 212 | 5 | if (name.empty()) { | 213 | 0 | ExceptionUtil::throwEnvoyException("Provided name for static registration lookup was empty."); | 214 | 0 | } | 215 | | | 216 | 5 | Factory* factory = Registry::FactoryRegistry<Factory>::getFactory(name); | 217 | | | 218 | 5 | if (factory == nullptr && !is_optional) { | 219 | 0 | ExceptionUtil::throwEnvoyException( | 220 | 0 | fmt::format("Didn't find a registered implementation for name: '{}'", name)); | 221 | 0 | } | 222 | | | 223 | 5 | return factory; | 224 | 5 | } |
Unexecuted instantiation: Envoy::Geolocation::GeoipProviderFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Geolocation::GeoipProviderFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Http::SessionStateFactoryConfig* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Http::SessionStateFactoryConfig>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::DubboProxy::NamedProtocolConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::DubboProxy::NamedProtocolConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::DubboProxy::DubboFilters::NamedDubboFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::DubboProxy::DubboFilters::NamedDubboFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::DubboProxy::NamedSerializerConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::DubboProxy::NamedSerializerConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::ThriftProxy::ThriftFilters::NamedThriftFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::ThriftProxy::ThriftFilters::NamedThriftFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::GenericProxy::CodecFactoryConfig* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::GenericProxy::CodecFactoryConfig>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::GenericProxy::NamedFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::GenericProxy::NamedFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Extensions::Common::Tap::TapSinkFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::Common::Tap::TapSinkFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Extensions::Http::CustomResponse::ModifyRequestHeadersActionFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::Http::CustomResponse::ModifyRequestHeadersActionFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) Unexecuted instantiation: Envoy::Extensions::Filters::Common::RBAC::MatcherExtensionFactory* Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::Filters::Common::RBAC::MatcherExtensionFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) |
225 | | |
226 | | /** |
227 | | * Get a Factory from the registry with a particular name (and templated type) with error checking |
228 | | * to ensure the name and factory are valid. |
229 | | * @param name string identifier for the particular implementation. |
230 | | * @return factory the factory requested or nullptr if it does not exist. |
231 | | */ |
232 | 16.3k | template <class Factory> static Factory& getAndCheckFactoryByName(const std::string& name) { |
233 | 16.3k | return *getAndCheckFactoryByName<Factory>(name, false); |
234 | 16.3k | } Unexecuted instantiation: Envoy::Server::Configuration::CustomHealthCheckerFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::CustomHealthCheckerFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Envoy::QuicHttpServerConnectionFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::QuicHttpServerConnectionFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Envoy::Server::ListenerManagerFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::ListenerManagerFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 232 | 6.93k | template <class Factory> static Factory& getAndCheckFactoryByName(const std::string& name) { | 233 | 6.93k | return *getAndCheckFactoryByName<Factory>(name, false); | 234 | 6.93k | } |
Envoy::Server::Configuration::NamedListenerFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::NamedListenerFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 232 | 82 | template <class Factory> static Factory& getAndCheckFactoryByName(const std::string& name) { | 233 | 82 | return *getAndCheckFactoryByName<Factory>(name, false); | 234 | 82 | } |
Envoy::Extensions::NetworkFilters::ThriftProxy::NamedTransportConfigFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::ThriftProxy::NamedTransportConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 232 | 5 | template <class Factory> static Factory& getAndCheckFactoryByName(const std::string& name) { | 233 | 5 | return *getAndCheckFactoryByName<Factory>(name, false); | 234 | 5 | } |
Envoy::Extensions::NetworkFilters::ThriftProxy::NamedProtocolConfigFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::ThriftProxy::NamedProtocolConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 232 | 5 | template <class Factory> static Factory& getAndCheckFactoryByName(const std::string& name) { | 233 | 5 | return *getAndCheckFactoryByName<Factory>(name, false); | 234 | 5 | } |
Unexecuted instantiation: Envoy::Http::SessionStateFactoryConfig& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Http::SessionStateFactoryConfig>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::DubboProxy::NamedProtocolConfigFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::DubboProxy::NamedProtocolConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::DubboProxy::DubboFilters::NamedDubboFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::DubboProxy::DubboFilters::NamedDubboFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::DubboProxy::NamedSerializerConfigFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Extensions::NetworkFilters::DubboProxy::NamedSerializerConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Envoy::Server::Configuration::NamedNetworkFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::NamedNetworkFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 232 | 8.40k | template <class Factory> static Factory& getAndCheckFactoryByName(const std::string& name) { | 233 | 8.40k | return *getAndCheckFactoryByName<Factory>(name, false); | 234 | 8.40k | } |
Envoy::Server::Configuration::NamedHttpFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactoryByName<Envoy::Server::Configuration::NamedHttpFilterConfigFactory>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 232 | 884 | template <class Factory> static Factory& getAndCheckFactoryByName(const std::string& name) { | 233 | 884 | return *getAndCheckFactoryByName<Factory>(name, false); | 234 | 884 | } |
|
235 | | |
236 | | /** |
237 | | * Get a Factory from the registry with a particular name or return nullptr. |
238 | | * @param name string identifier for the particular implementation. |
239 | | */ |
240 | 668k | template <class Factory> static Factory* getFactoryByName(absl::string_view name) { |
241 | 668k | if (name.empty()) { |
242 | 0 | return nullptr; |
243 | 0 | } |
244 | | |
245 | 668k | return Registry::FactoryRegistry<Factory>::getFactory(name); |
246 | 668k | } Envoy::Upstream::TypedLoadBalancerFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Upstream::TypedLoadBalancerFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 240 | 403k | template <class Factory> static Factory* getFactoryByName(absl::string_view name) { | 241 | 403k | if (name.empty()) { | 242 | 0 | return nullptr; | 243 | 0 | } | 244 | | | 245 | 403k | return Registry::FactoryRegistry<Factory>::getFactory(name); | 246 | 403k | } |
Envoy::Router::GenericConnPoolFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Router::GenericConnPoolFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 240 | 26.5k | template <class Factory> static Factory* getFactoryByName(absl::string_view name) { | 241 | 26.5k | if (name.empty()) { | 242 | 0 | return nullptr; | 243 | 0 | } | 244 | | | 245 | 26.5k | return Registry::FactoryRegistry<Factory>::getFactory(name); | 246 | 26.5k | } |
Unexecuted instantiation: Envoy::Extensions::TransportSockets::Tls::ServerContextFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Extensions::TransportSockets::Tls::ServerContextFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Router::SrdsFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Router::SrdsFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 240 | 11.6k | template <class Factory> static Factory* getFactoryByName(absl::string_view name) { | 241 | 11.6k | if (name.empty()) { | 242 | 0 | return nullptr; | 243 | 0 | } | 244 | | | 245 | 11.6k | return Registry::FactoryRegistry<Factory>::getFactory(name); | 246 | 11.6k | } |
Unexecuted instantiation: Envoy::Http::OriginalIPDetectionFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Http::OriginalIPDetectionFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::EarlyHeaderMutationFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Http::EarlyHeaderMutationFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::RouteConfigUpdateRequesterFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Http::RouteConfigUpdateRequesterFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 240 | 192k | template <class Factory> static Factory* getFactoryByName(absl::string_view name) { | 241 | 192k | if (name.empty()) { | 242 | 0 | return nullptr; | 243 | 0 | } | 244 | | | 245 | 192k | return Registry::FactoryRegistry<Factory>::getFactory(name); | 246 | 192k | } |
Unexecuted instantiation: Envoy::Formatter::CommandParserFactoryBase<Envoy::Formatter::HttpFormatterContext>* Envoy::Config::Utility::getFactoryByName<Envoy::Formatter::CommandParserFactoryBase<Envoy::Formatter::HttpFormatterContext> >(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Router::RdsFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Router::RdsFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 240 | 133 | template <class Factory> static Factory* getFactoryByName(absl::string_view name) { | 241 | 133 | if (name.empty()) { | 242 | 0 | return nullptr; | 243 | 0 | } | 244 | | | 245 | 133 | return Registry::FactoryRegistry<Factory>::getFactory(name); | 246 | 133 | } |
Unexecuted instantiation: Envoy::Router::ClusterSpecifierPluginFactoryConfig* Envoy::Config::Utility::getFactoryByName<Envoy::Router::ClusterSpecifierPluginFactoryConfig>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Http::HttpMatchingData>* Envoy::Config::Utility::getFactoryByName<Envoy::Matcher::DataInputFactory<Envoy::Http::HttpMatchingData> >(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::RateLimit::DescriptorProducerFactory* Envoy::Config::Utility::getFactoryByName<Envoy::RateLimit::DescriptorProducerFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Network::ClientConnectionFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Network::ClientConnectionFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 240 | 3.84k | template <class Factory> static Factory* getFactoryByName(absl::string_view name) { | 241 | 3.84k | if (name.empty()) { | 242 | 0 | return nullptr; | 243 | 0 | } | 244 | | | 245 | 3.84k | return Registry::FactoryRegistry<Factory>::getFactory(name); | 246 | 3.84k | } |
Envoy::Server::ConnectionHandlerFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Server::ConnectionHandlerFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 240 | 9.43k | template <class Factory> static Factory* getFactoryByName(absl::string_view name) { | 241 | 9.43k | if (name.empty()) { | 242 | 0 | return nullptr; | 243 | 0 | } | 244 | | | 245 | 9.43k | return Registry::FactoryRegistry<Factory>::getFactory(name); | 246 | 9.43k | } |
Envoy::Config::MuxFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Config::MuxFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 240 | 20.2k | template <class Factory> static Factory* getFactoryByName(absl::string_view name) { | 241 | 20.2k | if (name.empty()) { | 242 | 0 | return nullptr; | 243 | 0 | } | 244 | | | 245 | 20.2k | return Registry::FactoryRegistry<Factory>::getFactory(name); | 246 | 20.2k | } |
Unexecuted instantiation: Envoy::Network::UdpPacketWriterFactoryFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Network::UdpPacketWriterFactoryFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Network::MatchingData>* Envoy::Config::Utility::getFactoryByName<Envoy::Matcher::DataInputFactory<Envoy::Network::MatchingData> >(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext>* Envoy::Config::Utility::getFactoryByName<Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext> >(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 240 | 166 | template <class Factory> static Factory* getFactoryByName(absl::string_view name) { | 241 | 166 | if (name.empty()) { | 242 | 0 | return nullptr; | 243 | 0 | } | 244 | | | 245 | 166 | return Registry::FactoryRegistry<Factory>::getFactory(name); | 246 | 166 | } |
Unexecuted instantiation: Envoy::Extensions::Http::InjectedCredentials::Common::NamedCredentialInjectorConfigFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Extensions::Http::InjectedCredentials::Common::NamedCredentialInjectorConfigFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::TcpProxy::GenericConnPoolFactory* Envoy::Config::Utility::getFactoryByName<Envoy::TcpProxy::GenericConnPoolFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Formatter::CommandParserFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>* Envoy::Config::Utility::getFactoryByName<Envoy::Formatter::CommandParserFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext> >(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>* Envoy::Config::Utility::getFactoryByName<Envoy::Matcher::DataInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> >(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::GenericProxy::NamedFilterConfigFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Extensions::NetworkFilters::GenericProxy::NamedFilterConfigFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Network::UdpMatchingData>* Envoy::Config::Utility::getFactoryByName<Envoy::Matcher::DataInputFactory<Envoy::Network::UdpMatchingData> >(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Extensions::Tracers::OpenTelemetry::SamplerFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Extensions::Tracers::OpenTelemetry::SamplerFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Extensions::Tracers::OpenTelemetry::ResourceDetectorFactory* Envoy::Config::Utility::getFactoryByName<Envoy::Extensions::Tracers::OpenTelemetry::ResourceDetectorFactory>(std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
247 | | |
248 | | /** |
249 | | * Get a Factory from the registry or return nullptr. |
250 | | * @param message proto that contains fields 'name' and 'typed_config'. |
251 | | */ |
252 | | template <class Factory, class ProtoMessage> |
253 | 61.4k | static Factory* getFactory(const ProtoMessage& message) { |
254 | 61.4k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); |
255 | 61.4k | if (factory != nullptr || |
256 | 61.4k | Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { |
257 | 61.4k | return factory; |
258 | 61.4k | } |
259 | | |
260 | 6 | return Utility::getFactoryByName<Factory>(message.name()); |
261 | 61.4k | } Envoy::Router::GenericConnPoolFactory* Envoy::Config::Utility::getFactory<Envoy::Router::GenericConnPoolFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 253 | 22 | static Factory* getFactory(const ProtoMessage& message) { | 254 | 22 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 255 | 22 | if (factory != nullptr || | 256 | 22 | Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 257 | 22 | return factory; | 258 | 22 | } | 259 | | | 260 | 0 | return Utility::getFactoryByName<Factory>(message.name()); | 261 | 22 | } |
Envoy::Http::OriginalIPDetectionFactory* Envoy::Config::Utility::getFactory<Envoy::Http::OriginalIPDetectionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 253 | 6.28k | static Factory* getFactory(const ProtoMessage& message) { | 254 | 6.28k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 255 | 6.28k | if (factory != nullptr || | 256 | 6.28k | Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 257 | 6.28k | return factory; | 258 | 6.28k | } | 259 | | | 260 | 1 | return Utility::getFactoryByName<Factory>(message.name()); | 261 | 6.28k | } |
Envoy::Http::EarlyHeaderMutationFactory* Envoy::Config::Utility::getFactory<Envoy::Http::EarlyHeaderMutationFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 253 | 16 | static Factory* getFactory(const ProtoMessage& message) { | 254 | 16 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 255 | 16 | if (factory != nullptr || | 256 | 16 | Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 257 | 15 | return factory; | 258 | 15 | } | 259 | | | 260 | 1 | return Utility::getFactoryByName<Factory>(message.name()); | 261 | 16 | } |
Envoy::Formatter::CommandParserFactoryBase<Envoy::Formatter::HttpFormatterContext>* Envoy::Config::Utility::getFactory<Envoy::Formatter::CommandParserFactoryBase<Envoy::Formatter::HttpFormatterContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 253 | 5 | static Factory* getFactory(const ProtoMessage& message) { | 254 | 5 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 255 | 5 | if (factory != nullptr || | 256 | 5 | Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 257 | 5 | return factory; | 258 | 5 | } | 259 | | | 260 | 0 | return Utility::getFactoryByName<Factory>(message.name()); | 261 | 5 | } |
Envoy::Router::ClusterSpecifierPluginFactoryConfig* Envoy::Config::Utility::getFactory<Envoy::Router::ClusterSpecifierPluginFactoryConfig, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 253 | 19.7k | static Factory* getFactory(const ProtoMessage& message) { | 254 | 19.7k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 255 | 19.7k | if (factory != nullptr || | 256 | 19.7k | Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 257 | 19.7k | return factory; | 258 | 19.7k | } | 259 | | | 260 | 3 | return Utility::getFactoryByName<Factory>(message.name()); | 261 | 19.7k | } |
Envoy::Matcher::DataInputFactory<Envoy::Http::HttpMatchingData>* Envoy::Config::Utility::getFactory<Envoy::Matcher::DataInputFactory<Envoy::Http::HttpMatchingData>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 253 | 2.22k | static Factory* getFactory(const ProtoMessage& message) { | 254 | 2.22k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 255 | 2.22k | if (factory != nullptr || | 256 | 2.22k | Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 257 | 2.22k | return factory; | 258 | 2.22k | } | 259 | | | 260 | 0 | return Utility::getFactoryByName<Factory>(message.name()); | 261 | 2.22k | } |
Envoy::Matcher::DataInputFactory<Envoy::Http::HttpMatchingData>* Envoy::Config::Utility::getFactory<Envoy::Matcher::DataInputFactory<Envoy::Http::HttpMatchingData>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Line | Count | Source | 253 | 30.9k | static Factory* getFactory(const ProtoMessage& message) { | 254 | 30.9k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 255 | 30.9k | if (factory != nullptr || | 256 | 30.9k | Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 257 | 30.9k | return factory; | 258 | 30.9k | } | 259 | | | 260 | 0 | return Utility::getFactoryByName<Factory>(message.name()); | 261 | 30.9k | } |
Envoy::RateLimit::DescriptorProducerFactory* Envoy::Config::Utility::getFactory<Envoy::RateLimit::DescriptorProducerFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 253 | 2.22k | static Factory* getFactory(const ProtoMessage& message) { | 254 | 2.22k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 255 | 2.22k | if (factory != nullptr || | 256 | 2.22k | Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 257 | 2.22k | return factory; | 258 | 2.22k | } | 259 | | | 260 | 1 | return Utility::getFactoryByName<Factory>(message.name()); | 261 | 2.22k | } |
Unexecuted instantiation: Envoy::Network::UdpPacketWriterFactoryFactory* Envoy::Config::Utility::getFactory<Envoy::Network::UdpPacketWriterFactoryFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Network::MatchingData>* Envoy::Config::Utility::getFactory<Envoy::Matcher::DataInputFactory<Envoy::Network::MatchingData>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Network::MatchingData>* Envoy::Config::Utility::getFactory<Envoy::Matcher::DataInputFactory<Envoy::Network::MatchingData>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Extensions::Http::InjectedCredentials::Common::NamedCredentialInjectorConfigFactory* Envoy::Config::Utility::getFactory<Envoy::Extensions::Http::InjectedCredentials::Common::NamedCredentialInjectorConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::TcpProxy::GenericConnPoolFactory* Envoy::Config::Utility::getFactory<Envoy::TcpProxy::GenericConnPoolFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Formatter::CommandParserFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>* Envoy::Config::Utility::getFactory<Envoy::Formatter::CommandParserFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>* Envoy::Config::Utility::getFactory<Envoy::Matcher::DataInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>* Envoy::Config::Utility::getFactory<Envoy::Matcher::DataInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Network::UdpMatchingData>* Envoy::Config::Utility::getFactory<Envoy::Matcher::DataInputFactory<Envoy::Network::UdpMatchingData>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Network::UdpMatchingData>* Envoy::Config::Utility::getFactory<Envoy::Matcher::DataInputFactory<Envoy::Network::UdpMatchingData>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Extensions::Tracers::OpenTelemetry::SamplerFactory* Envoy::Config::Utility::getFactory<Envoy::Extensions::Tracers::OpenTelemetry::SamplerFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Extensions::Tracers::OpenTelemetry::ResourceDetectorFactory* Envoy::Config::Utility::getFactory<Envoy::Extensions::Tracers::OpenTelemetry::ResourceDetectorFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) |
262 | | |
263 | | /** |
264 | | * Get a Factory from the registry with error checking to ensure the name and the factory are |
265 | | * valid. And a flag to control return nullptr or throw an exception. |
266 | | * @param message proto that contains fields 'name' and 'typed_config'. |
267 | | * @param is_optional an exception will be throw when the value is false and no factory found. |
268 | | * @return factory the factory requested or nullptr if it does not exist. |
269 | | */ |
270 | | template <class Factory, class ProtoMessage> |
271 | 98.3k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { |
272 | 98.3k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); |
273 | 98.3k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { |
274 | 80.6k | if (factory == nullptr && !is_optional) { |
275 | 4.28k | ExceptionUtil::throwEnvoyException( |
276 | 4.28k | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", |
277 | 4.28k | message.name(), getFactoryType(message.typed_config()))); |
278 | 4.28k | } |
279 | 80.6k | return factory; |
280 | 80.6k | } else if (factory != nullptr) { |
281 | 17.6k | return factory; |
282 | 17.6k | } |
283 | | |
284 | 30 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); |
285 | 98.3k | } Unexecuted instantiation: Envoy::Upstream::HealthCheckEventSinkFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Upstream::HealthCheckEventSinkFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Envoy::Upstream::UpstreamLocalAddressSelectorFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Upstream::UpstreamLocalAddressSelectorFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 2.40k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 2.40k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 2.40k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 0 | if (factory == nullptr && !is_optional) { | 275 | 0 | ExceptionUtil::throwEnvoyException( | 276 | 0 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 0 | message.name(), getFactoryType(message.typed_config()))); | 278 | 0 | } | 279 | 0 | return factory; | 280 | 2.40k | } else if (factory != nullptr) { | 281 | 2.40k | return factory; | 282 | 2.40k | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 2.40k | } |
Unexecuted instantiation: Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory, envoy::config::cluster::v3::Filter>(envoy::config::cluster::v3::Filter const&, bool) Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory, envoy::extensions::filters::network::http_connection_manager::v3::HttpFilter>(envoy::extensions::filters::network::http_connection_manager::v3::HttpFilter const&, bool) Line | Count | Source | 271 | 2.41k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 2.41k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 2.41k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 3 | if (factory == nullptr && !is_optional) { | 275 | 1 | ExceptionUtil::throwEnvoyException( | 276 | 1 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 1 | message.name(), getFactoryType(message.typed_config()))); | 278 | 1 | } | 279 | 3 | return factory; | 280 | 2.40k | } else if (factory != nullptr) { | 281 | 2.40k | return factory; | 282 | 2.40k | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 2.41k | } |
Unexecuted instantiation: Envoy::Upstream::TypedLoadBalancerFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Upstream::TypedLoadBalancerFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory, envoy::config::core::v3::TransportSocket>(envoy::config::core::v3::TransportSocket const&, bool) Line | Count | Source | 271 | 2.40k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 2.40k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 2.40k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 0 | if (factory == nullptr && !is_optional) { | 275 | 0 | ExceptionUtil::throwEnvoyException( | 276 | 0 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 0 | message.name(), getFactoryType(message.typed_config()))); | 278 | 0 | } | 279 | 0 | return factory; | 280 | 2.40k | } else if (factory != nullptr) { | 281 | 2.40k | return factory; | 282 | 2.40k | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 2.40k | } |
Unexecuted instantiation: Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::CustomHealthCheckerFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::CustomHealthCheckerFactory, envoy::config::core::v3::HealthCheck_CustomHealthCheck>(envoy::config::core::v3::HealthCheck_CustomHealthCheck const&, bool) Unexecuted instantiation: Envoy::Ssl::HandshakerFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Ssl::HandshakerFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Envoy::Server::Configuration::NamedHttpFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedHttpFilterConfigFactory, envoy::extensions::filters::network::http_connection_manager::v3::HttpFilter>(envoy::extensions::filters::network::http_connection_manager::v3::HttpFilter const&, bool) Line | Count | Source | 271 | 3.20k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 3.20k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 3.20k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 760 | if (factory == nullptr && !is_optional) { | 275 | 540 | ExceptionUtil::throwEnvoyException( | 276 | 540 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 540 | message.name(), getFactoryType(message.typed_config()))); | 278 | 540 | } | 279 | 760 | return factory; | 280 | 2.44k | } else if (factory != nullptr) { | 281 | 2.44k | return factory; | 282 | 2.44k | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 3.20k | } |
Unexecuted instantiation: Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::NamedHttpFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedHttpFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Formatter::HttpFormatterContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Formatter::HttpFormatterContext>, envoy::config::accesslog::v3::ExtensionFilter>(envoy::config::accesslog::v3::ExtensionFilter const&, bool) Line | Count | Source | 271 | 400 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 400 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 400 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 400 | if (factory == nullptr && !is_optional) { | 275 | 400 | ExceptionUtil::throwEnvoyException( | 276 | 400 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 400 | message.name(), getFactoryType(message.typed_config()))); | 278 | 400 | } | 279 | 400 | return factory; | 280 | 400 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 400 | } |
Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext>, envoy::config::accesslog::v3::AccessLog>(envoy::config::accesslog::v3::AccessLog const&, bool) Line | Count | Source | 271 | 5.77k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 5.77k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 5.77k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 1.84k | if (factory == nullptr && !is_optional) { | 275 | 1.84k | ExceptionUtil::throwEnvoyException( | 276 | 1.84k | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 1.84k | message.name(), getFactoryType(message.typed_config()))); | 278 | 1.84k | } | 279 | 1.84k | return factory; | 280 | 3.93k | } else if (factory != nullptr) { | 281 | 3.93k | return factory; | 282 | 3.93k | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 5.77k | } |
Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 64.9k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 64.9k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 64.9k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 64.9k | if (factory == nullptr && !is_optional) { | 275 | 4 | ExceptionUtil::throwEnvoyException( | 276 | 4 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 4 | message.name(), getFactoryType(message.typed_config()))); | 278 | 4 | } | 279 | 64.9k | return factory; | 280 | 64.9k | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 64.9k | } |
Envoy::Matcher::CommonProtocolInputFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CommonProtocolInputFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 60 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 60 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 60 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 60 | if (factory == nullptr && !is_optional) { | 275 | 60 | ExceptionUtil::throwEnvoyException( | 276 | 60 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 60 | message.name(), getFactoryType(message.typed_config()))); | 278 | 60 | } | 279 | 60 | return factory; | 280 | 60 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 60 | } |
Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::InputMatcherFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::InputMatcherFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Envoy::Upstream::RetryHostPredicateFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Upstream::RetryHostPredicateFactory, envoy::config::route::v3::RetryPolicy_RetryHostPredicate>(envoy::config::route::v3::RetryPolicy_RetryHostPredicate const&, bool) Line | Count | Source | 271 | 9 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 9 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 9 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 9 | if (factory == nullptr && !is_optional) { | 275 | 9 | ExceptionUtil::throwEnvoyException( | 276 | 9 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 9 | message.name(), getFactoryType(message.typed_config()))); | 278 | 9 | } | 279 | 9 | return factory; | 280 | 9 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 9 | } |
Envoy::Upstream::RetryPriorityFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Upstream::RetryPriorityFactory, envoy::config::route::v3::RetryPolicy_RetryPriority>(envoy::config::route::v3::RetryPolicy_RetryPriority const&, bool) Line | Count | Source | 271 | 6 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 6 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 6 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 6 | if (factory == nullptr && !is_optional) { | 275 | 6 | ExceptionUtil::throwEnvoyException( | 276 | 6 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 6 | message.name(), getFactoryType(message.typed_config()))); | 278 | 6 | } | 279 | 6 | return factory; | 280 | 6 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 6 | } |
Envoy::Upstream::RetryOptionsPredicateFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Upstream::RetryOptionsPredicateFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 4 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 4 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 4 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 4 | if (factory == nullptr && !is_optional) { | 275 | 4 | ExceptionUtil::throwEnvoyException( | 276 | 4 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 4 | message.name(), getFactoryType(message.typed_config()))); | 278 | 4 | } | 279 | 4 | return factory; | 280 | 4 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 4 | } |
Envoy::Router::InternalRedirectPredicateFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Router::InternalRedirectPredicateFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 5 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 5 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 5 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 5 | if (factory == nullptr && !is_optional) { | 275 | 5 | ExceptionUtil::throwEnvoyException( | 276 | 5 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 5 | message.name(), getFactoryType(message.typed_config()))); | 278 | 5 | } | 279 | 5 | return factory; | 280 | 5 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 5 | } |
Envoy::Router::EarlyDataPolicyFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Router::EarlyDataPolicyFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 72 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 72 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 72 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 72 | if (factory == nullptr && !is_optional) { | 275 | 29 | ExceptionUtil::throwEnvoyException( | 276 | 29 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 29 | message.name(), getFactoryType(message.typed_config()))); | 278 | 29 | } | 279 | 72 | return factory; | 280 | 72 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 72 | } |
Envoy::Router::PathRewriterFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Router::PathRewriterFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 1.09k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 1.09k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 1.09k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 1.09k | if (factory == nullptr && !is_optional) { | 275 | 7 | ExceptionUtil::throwEnvoyException( | 276 | 7 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 7 | message.name(), getFactoryType(message.typed_config()))); | 278 | 7 | } | 279 | 1.09k | return factory; | 280 | 1.09k | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 1.09k | } |
Envoy::Router::PathMatcherFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Router::PathMatcherFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 1.67k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 1.67k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 1.67k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 1.67k | if (factory == nullptr && !is_optional) { | 275 | 55 | ExceptionUtil::throwEnvoyException( | 276 | 55 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 55 | message.name(), getFactoryType(message.typed_config()))); | 278 | 55 | } | 279 | 1.67k | return factory; | 280 | 1.67k | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 1.67k | } |
Envoy::Matcher::CommonProtocolInputFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CommonProtocolInputFactory, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 109 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 109 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 109 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 109 | if (factory == nullptr && !is_optional) { | 275 | 109 | ExceptionUtil::throwEnvoyException( | 276 | 109 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 109 | message.name(), getFactoryType(message.typed_config()))); | 278 | 109 | } | 279 | 109 | return factory; | 280 | 109 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 109 | } |
Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 16 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 16 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 16 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 16 | if (factory == nullptr && !is_optional) { | 275 | 16 | ExceptionUtil::throwEnvoyException( | 276 | 16 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 16 | message.name(), getFactoryType(message.typed_config()))); | 278 | 16 | } | 279 | 16 | return factory; | 280 | 16 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 16 | } |
Envoy::Matcher::InputMatcherFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::InputMatcherFactory, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 7 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 7 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 7 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 7 | if (factory == nullptr && !is_optional) { | 275 | 7 | ExceptionUtil::throwEnvoyException( | 276 | 7 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 7 | message.name(), getFactoryType(message.typed_config()))); | 278 | 7 | } | 279 | 7 | return factory; | 280 | 7 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 7 | } |
Envoy::Config::ConfigValidatorFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Config::ConfigValidatorFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 2 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 2 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 2 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 2 | if (factory == nullptr && !is_optional) { | 275 | 2 | ExceptionUtil::throwEnvoyException( | 276 | 2 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 2 | message.name(), getFactoryType(message.typed_config()))); | 278 | 2 | } | 279 | 2 | return factory; | 280 | 2 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 2 | } |
Envoy::Server::Configuration::TracerFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::TracerFactory, envoy::config::trace::v3::Tracing_Http>(envoy::config::trace::v3::Tracing_Http const&, bool) Line | Count | Source | 271 | 111 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 111 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 111 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 111 | if (factory == nullptr && !is_optional) { | 275 | 111 | ExceptionUtil::throwEnvoyException( | 276 | 111 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 111 | message.name(), getFactoryType(message.typed_config()))); | 278 | 111 | } | 279 | 111 | return factory; | 280 | 111 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 111 | } |
Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig* Envoy::Config::Utility::getAndCheckFactory<Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 12 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 12 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 12 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 12 | if (factory == nullptr && !is_optional) { | 275 | 12 | ExceptionUtil::throwEnvoyException( | 276 | 12 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 12 | message.name(), getFactoryType(message.typed_config()))); | 278 | 12 | } | 279 | 12 | return factory; | 280 | 12 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 12 | } |
Unexecuted instantiation: Envoy::Network::DnsResolverFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Network::DnsResolverFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Envoy::Matchers::StringMatcherExtensionFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matchers::StringMatcherExtensionFactory, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 682 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 682 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 682 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 663 | if (factory == nullptr && !is_optional) { | 275 | 663 | ExceptionUtil::throwEnvoyException( | 276 | 663 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 663 | message.name(), getFactoryType(message.typed_config()))); | 278 | 663 | } | 279 | 663 | return factory; | 280 | 663 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 19 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 682 | } |
Envoy::Server::Configuration::GuardDogActionFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::GuardDogActionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 29 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 29 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 29 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 29 | if (factory == nullptr && !is_optional) { | 275 | 21 | ExceptionUtil::throwEnvoyException( | 276 | 21 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 21 | message.name(), getFactoryType(message.typed_config()))); | 278 | 21 | } | 279 | 29 | return factory; | 280 | 29 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 29 | } |
Envoy::Server::Configuration::BootstrapExtensionFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::BootstrapExtensionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 1 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 1 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 1 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 1 | if (factory == nullptr && !is_optional) { | 275 | 1 | ExceptionUtil::throwEnvoyException( | 276 | 1 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 1 | message.name(), getFactoryType(message.typed_config()))); | 278 | 1 | } | 279 | 1 | return factory; | 280 | 1 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 1 | } |
Envoy::Server::Configuration::FatalActionFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::FatalActionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 18 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 18 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 18 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 18 | if (factory == nullptr && !is_optional) { | 275 | 18 | ExceptionUtil::throwEnvoyException( | 276 | 18 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 18 | message.name(), getFactoryType(message.typed_config()))); | 278 | 18 | } | 279 | 18 | return factory; | 280 | 18 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 18 | } |
Envoy::Server::ListenerManagerFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::ListenerManagerFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 2 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 2 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 2 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 2 | if (factory == nullptr && !is_optional) { | 275 | 2 | ExceptionUtil::throwEnvoyException( | 276 | 2 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 2 | message.name(), getFactoryType(message.typed_config()))); | 278 | 2 | } | 279 | 2 | return factory; | 280 | 2 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 2 | } |
Envoy::Regex::EngineFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Regex::EngineFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 122 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 122 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 122 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 113 | if (factory == nullptr && !is_optional) { | 275 | 113 | ExceptionUtil::throwEnvoyException( | 276 | 113 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 113 | message.name(), getFactoryType(message.typed_config()))); | 278 | 113 | } | 279 | 113 | return factory; | 280 | 113 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 9 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 122 | } |
Envoy::Config::XdsResourcesDelegateFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Config::XdsResourcesDelegateFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 3 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 3 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 3 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 3 | if (factory == nullptr && !is_optional) { | 275 | 3 | ExceptionUtil::throwEnvoyException( | 276 | 3 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 3 | message.name(), getFactoryType(message.typed_config()))); | 278 | 3 | } | 279 | 3 | return factory; | 280 | 3 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 3 | } |
Envoy::Config::XdsConfigTrackerFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Config::XdsConfigTrackerFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 3 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 3 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 3 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 3 | if (factory == nullptr && !is_optional) { | 275 | 3 | ExceptionUtil::throwEnvoyException( | 276 | 3 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 3 | message.name(), getFactoryType(message.typed_config()))); | 278 | 3 | } | 279 | 3 | return factory; | 280 | 3 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 3 | } |
Unexecuted instantiation: Envoy::KeyValueStoreFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::KeyValueStoreFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::NamedNetworkFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedNetworkFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::NamedListenerFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedListenerFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Envoy::Server::Configuration::NamedNetworkFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedNetworkFilterConfigFactory, envoy::config::listener::v3::Filter>(envoy::config::listener::v3::Filter const&, bool) Line | Count | Source | 271 | 2.04k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 2.04k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 2.04k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 6 | if (factory == nullptr && !is_optional) { | 275 | 6 | ExceptionUtil::throwEnvoyException( | 276 | 6 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 6 | message.name(), getFactoryType(message.typed_config()))); | 278 | 6 | } | 279 | 6 | return factory; | 280 | 2.04k | } else if (factory != nullptr) { | 281 | 2.04k | return factory; | 282 | 2.04k | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 2.04k | } |
Envoy::Server::Configuration::NamedListenerFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedListenerFilterConfigFactory, envoy::config::listener::v3::ListenerFilter>(envoy::config::listener::v3::ListenerFilter const&, bool) Line | Count | Source | 271 | 1 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 1 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 1 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 1 | if (factory == nullptr && !is_optional) { | 275 | 1 | ExceptionUtil::throwEnvoyException( | 276 | 1 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 1 | message.name(), getFactoryType(message.typed_config()))); | 278 | 1 | } | 279 | 1 | return factory; | 280 | 1 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 1 | } |
Envoy::Server::Configuration::NamedUdpListenerFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedUdpListenerFilterConfigFactory, envoy::config::listener::v3::ListenerFilter>(envoy::config::listener::v3::ListenerFilter const&, bool) Line | Count | Source | 271 | 3 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 3 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 3 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 3 | if (factory == nullptr && !is_optional) { | 275 | 3 | ExceptionUtil::throwEnvoyException( | 276 | 3 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 3 | message.name(), getFactoryType(message.typed_config()))); | 278 | 3 | } | 279 | 3 | return factory; | 280 | 3 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 3 | } |
Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory, envoy::config::listener::v3::ListenerFilter>(envoy::config::listener::v3::ListenerFilter const&, bool) Line | Count | Source | 271 | 3 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 3 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 3 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 3 | if (factory == nullptr && !is_optional) { | 275 | 3 | ExceptionUtil::throwEnvoyException( | 276 | 3 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 3 | message.name(), getFactoryType(message.typed_config()))); | 278 | 3 | } | 279 | 3 | return factory; | 280 | 3 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 3 | } |
Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory, envoy::config::core::v3::TransportSocket>(envoy::config::core::v3::TransportSocket const&, bool) Line | Count | Source | 271 | 10.4k | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 10.4k | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 10.4k | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 8.43k | if (factory == nullptr && !is_optional) { | 275 | 2 | ExceptionUtil::throwEnvoyException( | 276 | 2 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 2 | message.name(), getFactoryType(message.typed_config()))); | 278 | 2 | } | 279 | 8.43k | return factory; | 280 | 8.43k | } else if (factory != nullptr) { | 281 | 2.04k | return factory; | 282 | 2.04k | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 10.4k | } |
Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 2 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 2 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 2 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 2 | if (factory == nullptr && !is_optional) { | 275 | 2 | ExceptionUtil::throwEnvoyException( | 276 | 2 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 2 | message.name(), getFactoryType(message.typed_config()))); | 278 | 2 | } | 279 | 2 | return factory; | 280 | 2 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 2 | } |
Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Envoy::Server::Configuration::StatsSinkFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::StatsSinkFactory, envoy::config::metrics::v3::StatsSink>(envoy::config::metrics::v3::StatsSink const&, bool) Line | Count | Source | 271 | 84 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 84 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 84 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 84 | if (factory == nullptr && !is_optional) { | 275 | 84 | ExceptionUtil::throwEnvoyException( | 276 | 84 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 84 | message.name(), getFactoryType(message.typed_config()))); | 278 | 84 | } | 279 | 84 | return factory; | 280 | 84 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 84 | } |
Envoy::Quic::EnvoyQuicCryptoServerStreamFactoryInterface* Envoy::Config::Utility::getAndCheckFactory<Envoy::Quic::EnvoyQuicCryptoServerStreamFactoryInterface, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 18 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 18 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 18 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 18 | if (factory == nullptr && !is_optional) { | 275 | 1 | ExceptionUtil::throwEnvoyException( | 276 | 1 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 1 | message.name(), getFactoryType(message.typed_config()))); | 278 | 1 | } | 279 | 18 | return factory; | 280 | 18 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 18 | } |
Envoy::Quic::EnvoyQuicProofSourceFactoryInterface* Envoy::Config::Utility::getAndCheckFactory<Envoy::Quic::EnvoyQuicProofSourceFactoryInterface, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 17 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 17 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 17 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 17 | if (factory == nullptr && !is_optional) { | 275 | 2 | ExceptionUtil::throwEnvoyException( | 276 | 2 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 2 | message.name(), getFactoryType(message.typed_config()))); | 278 | 2 | } | 279 | 17 | return factory; | 280 | 17 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 17 | } |
Envoy::Quic::EnvoyQuicConnectionDebugVisitorFactoryInterface* Envoy::Config::Utility::getAndCheckFactory<Envoy::Quic::EnvoyQuicConnectionDebugVisitorFactoryInterface, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 5 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 5 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 5 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 5 | if (factory == nullptr && !is_optional) { | 275 | 5 | ExceptionUtil::throwEnvoyException( | 276 | 5 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 5 | message.name(), getFactoryType(message.typed_config()))); | 278 | 5 | } | 279 | 5 | return factory; | 280 | 5 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 5 | } |
Envoy::Quic::EnvoyQuicConnectionIdGeneratorConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Quic::EnvoyQuicConnectionIdGeneratorConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 10 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 10 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 10 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 10 | if (factory == nullptr && !is_optional) { | 275 | 1 | ExceptionUtil::throwEnvoyException( | 276 | 1 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 1 | message.name(), getFactoryType(message.typed_config()))); | 278 | 1 | } | 279 | 10 | return factory; | 280 | 10 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 10 | } |
Envoy::Quic::EnvoyQuicServerPreferredAddressConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Quic::EnvoyQuicServerPreferredAddressConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 4 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 4 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 4 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 4 | if (factory == nullptr && !is_optional) { | 275 | 4 | ExceptionUtil::throwEnvoyException( | 276 | 4 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 4 | message.name(), getFactoryType(message.typed_config()))); | 278 | 4 | } | 279 | 4 | return factory; | 280 | 4 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 4 | } |
Unexecuted instantiation: Envoy::Ssl::TlsCertificateSelectorConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Ssl::TlsCertificateSelectorConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::ProactiveResourceMonitorFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::ProactiveResourceMonitorFactory, envoy::config::overload::v3::ResourceMonitor>(envoy::config::overload::v3::ResourceMonitor const&, bool) Envoy::Server::Configuration::ResourceMonitorFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::ResourceMonitorFactory, envoy::config::overload::v3::ResourceMonitor>(envoy::config::overload::v3::ResourceMonitor const&, bool) Line | Count | Source | 271 | 54 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 54 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 54 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 54 | if (factory == nullptr && !is_optional) { | 275 | 54 | ExceptionUtil::throwEnvoyException( | 276 | 54 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 54 | message.name(), getFactoryType(message.typed_config()))); | 278 | 54 | } | 279 | 54 | return factory; | 280 | 54 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 54 | } |
Unexecuted instantiation: Envoy::Geolocation::GeoipProviderFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Geolocation::GeoipProviderFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::ThriftProxy::ThriftFilters::NamedThriftFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::NetworkFilters::ThriftProxy::ThriftFilters::NamedThriftFilterConfigFactory, envoy::extensions::filters::network::thrift_proxy::v3::ThriftFilter>(envoy::extensions::filters::network::thrift_proxy::v3::ThriftFilter const&, bool) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::GenericProxy::CodecFactoryConfig* Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::NetworkFilters::GenericProxy::CodecFactoryConfig, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::GenericProxy::NamedFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::NetworkFilters::GenericProxy::NamedFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>, envoy::config::accesslog::v3::ExtensionFilter>(envoy::config::accesslog::v3::ExtensionFilter const&, bool) Unexecuted instantiation: Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>, envoy::config::accesslog::v3::AccessLog>(envoy::config::accesslog::v3::AccessLog const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory, envoy::extensions::filters::udp::udp_proxy::v3::UdpProxyConfig_SessionFilter>(envoy::extensions::filters::udp::udp_proxy::v3::UdpProxyConfig_SessionFilter const&, bool) Unexecuted instantiation: Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Extensions::Common::Tap::TapSinkFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::Common::Tap::TapSinkFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Extensions::Http::CustomResponse::ModifyRequestHeadersActionFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::Http::CustomResponse::ModifyRequestHeadersActionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 65 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 65 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 65 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 63 | if (factory == nullptr && !is_optional) { | 275 | 60 | ExceptionUtil::throwEnvoyException( | 276 | 60 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 60 | message.name(), getFactoryType(message.typed_config()))); | 278 | 60 | } | 279 | 63 | return factory; | 280 | 63 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 2 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 65 | } |
Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>* Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Envoy::Extensions::Filters::Common::RBAC::MatcherExtensionFactory* Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::Filters::Common::RBAC::MatcherExtensionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&, bool) Line | Count | Source | 271 | 18 | static Factory* getAndCheckFactory(const ProtoMessage& message, bool is_optional) { | 272 | 18 | Factory* factory = Utility::getFactoryByType<Factory>(message.typed_config()); | 273 | 18 | if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.no_extension_lookup_by_name")) { | 274 | 18 | if (factory == nullptr && !is_optional) { | 275 | 18 | ExceptionUtil::throwEnvoyException( | 276 | 18 | fmt::format("Didn't find a registered implementation for '{}' with type URL: '{}'", | 277 | 18 | message.name(), getFactoryType(message.typed_config()))); | 278 | 18 | } | 279 | 18 | return factory; | 280 | 18 | } else if (factory != nullptr) { | 281 | 0 | return factory; | 282 | 0 | } | 283 | | | 284 | 0 | return Utility::getAndCheckFactoryByName<Factory>(message.name(), is_optional); | 285 | 18 | } |
|
286 | | |
287 | | /** |
288 | | * Get a Factory from the registry with error checking to ensure the name and the factory are |
289 | | * valid. |
290 | | * @param message proto that contains fields 'name' and 'typed_config'. |
291 | | */ |
292 | | template <class Factory, class ProtoMessage> |
293 | 89.6k | static Factory& getAndCheckFactory(const ProtoMessage& message) { |
294 | 89.6k | return *getAndCheckFactory<Factory>(message, false); |
295 | 89.6k | } Unexecuted instantiation: Envoy::Upstream::HealthCheckEventSinkFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Upstream::HealthCheckEventSinkFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory, envoy::config::cluster::v3::Filter>(envoy::config::cluster::v3::Filter const&) Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory, envoy::config::core::v3::TransportSocket>(envoy::config::core::v3::TransportSocket const&) Line | Count | Source | 293 | 2.40k | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 2.40k | return *getAndCheckFactory<Factory>(message, false); | 295 | 2.40k | } |
Unexecuted instantiation: Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Server::Configuration::CustomHealthCheckerFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::CustomHealthCheckerFactory, envoy::config::core::v3::HealthCheck_CustomHealthCheck>(envoy::config::core::v3::HealthCheck_CustomHealthCheck const&) Unexecuted instantiation: Envoy::Ssl::HandshakerFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Ssl::HandshakerFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Server::Configuration::NamedHttpFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedHttpFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Formatter::HttpFormatterContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Formatter::HttpFormatterContext>, envoy::config::accesslog::v3::ExtensionFilter>(envoy::config::accesslog::v3::ExtensionFilter const&) Line | Count | Source | 293 | 400 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 400 | return *getAndCheckFactory<Factory>(message, false); | 295 | 400 | } |
Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext>, envoy::config::accesslog::v3::AccessLog>(envoy::config::accesslog::v3::AccessLog const&) Line | Count | Source | 293 | 5.77k | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 5.77k | return *getAndCheckFactory<Factory>(message, false); | 295 | 5.77k | } |
Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 64.9k | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 64.9k | return *getAndCheckFactory<Factory>(message, false); | 295 | 64.9k | } |
Envoy::Matcher::CommonProtocolInputFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CommonProtocolInputFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 60 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 60 | return *getAndCheckFactory<Factory>(message, false); | 295 | 60 | } |
Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::InputMatcherFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::InputMatcherFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Envoy::Upstream::RetryHostPredicateFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Upstream::RetryHostPredicateFactory, envoy::config::route::v3::RetryPolicy_RetryHostPredicate>(envoy::config::route::v3::RetryPolicy_RetryHostPredicate const&) Line | Count | Source | 293 | 9 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 9 | return *getAndCheckFactory<Factory>(message, false); | 295 | 9 | } |
Envoy::Upstream::RetryPriorityFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Upstream::RetryPriorityFactory, envoy::config::route::v3::RetryPolicy_RetryPriority>(envoy::config::route::v3::RetryPolicy_RetryPriority const&) Line | Count | Source | 293 | 6 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 6 | return *getAndCheckFactory<Factory>(message, false); | 295 | 6 | } |
Envoy::Upstream::RetryOptionsPredicateFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Upstream::RetryOptionsPredicateFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 4 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 4 | return *getAndCheckFactory<Factory>(message, false); | 295 | 4 | } |
Envoy::Router::InternalRedirectPredicateFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Router::InternalRedirectPredicateFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 5 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 5 | return *getAndCheckFactory<Factory>(message, false); | 295 | 5 | } |
Envoy::Router::EarlyDataPolicyFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Router::EarlyDataPolicyFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 72 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 72 | return *getAndCheckFactory<Factory>(message, false); | 295 | 72 | } |
Envoy::Router::PathRewriterFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Router::PathRewriterFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 1.09k | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 1.09k | return *getAndCheckFactory<Factory>(message, false); | 295 | 1.09k | } |
Envoy::Router::PathMatcherFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Router::PathMatcherFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 1.67k | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 1.67k | return *getAndCheckFactory<Factory>(message, false); | 295 | 1.67k | } |
Envoy::Matcher::CommonProtocolInputFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CommonProtocolInputFactory, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 109 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 109 | return *getAndCheckFactory<Factory>(message, false); | 295 | 109 | } |
Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 16 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 16 | return *getAndCheckFactory<Factory>(message, false); | 295 | 16 | } |
Envoy::Matcher::InputMatcherFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::InputMatcherFactory, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 7 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 7 | return *getAndCheckFactory<Factory>(message, false); | 295 | 7 | } |
Envoy::Config::ConfigValidatorFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Config::ConfigValidatorFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 2 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 2 | return *getAndCheckFactory<Factory>(message, false); | 295 | 2 | } |
Envoy::Server::Configuration::TracerFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::TracerFactory, envoy::config::trace::v3::Tracing_Http>(envoy::config::trace::v3::Tracing_Http const&) Line | Count | Source | 293 | 111 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 111 | return *getAndCheckFactory<Factory>(message, false); | 295 | 111 | } |
Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig& Envoy::Config::Utility::getAndCheckFactory<Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 12 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 12 | return *getAndCheckFactory<Factory>(message, false); | 295 | 12 | } |
Unexecuted instantiation: Envoy::Network::DnsResolverFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Network::DnsResolverFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Envoy::Server::Configuration::GuardDogActionFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::GuardDogActionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 29 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 29 | return *getAndCheckFactory<Factory>(message, false); | 295 | 29 | } |
Envoy::Server::Configuration::BootstrapExtensionFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::BootstrapExtensionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 1 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 1 | return *getAndCheckFactory<Factory>(message, false); | 295 | 1 | } |
Envoy::Server::Configuration::FatalActionFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::FatalActionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 18 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 18 | return *getAndCheckFactory<Factory>(message, false); | 295 | 18 | } |
Envoy::Regex::EngineFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Regex::EngineFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 122 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 122 | return *getAndCheckFactory<Factory>(message, false); | 295 | 122 | } |
Envoy::Config::XdsResourcesDelegateFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Config::XdsResourcesDelegateFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 3 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 3 | return *getAndCheckFactory<Factory>(message, false); | 295 | 3 | } |
Envoy::Config::XdsConfigTrackerFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Config::XdsConfigTrackerFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 3 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 3 | return *getAndCheckFactory<Factory>(message, false); | 295 | 3 | } |
Unexecuted instantiation: Envoy::KeyValueStoreFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::KeyValueStoreFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Server::Configuration::NamedNetworkFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedNetworkFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Server::Configuration::NamedListenerFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedListenerFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Envoy::Server::Configuration::NamedNetworkFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedNetworkFilterConfigFactory, envoy::config::listener::v3::Filter>(envoy::config::listener::v3::Filter const&) Line | Count | Source | 293 | 2.04k | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 2.04k | return *getAndCheckFactory<Factory>(message, false); | 295 | 2.04k | } |
Envoy::Server::Configuration::NamedListenerFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedListenerFilterConfigFactory, envoy::config::listener::v3::ListenerFilter>(envoy::config::listener::v3::ListenerFilter const&) Line | Count | Source | 293 | 1 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 1 | return *getAndCheckFactory<Factory>(message, false); | 295 | 1 | } |
Envoy::Server::Configuration::NamedUdpListenerFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedUdpListenerFilterConfigFactory, envoy::config::listener::v3::ListenerFilter>(envoy::config::listener::v3::ListenerFilter const&) Line | Count | Source | 293 | 3 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 3 | return *getAndCheckFactory<Factory>(message, false); | 295 | 3 | } |
Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory, envoy::config::listener::v3::ListenerFilter>(envoy::config::listener::v3::ListenerFilter const&) Line | Count | Source | 293 | 3 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 3 | return *getAndCheckFactory<Factory>(message, false); | 295 | 3 | } |
Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory, envoy::config::core::v3::TransportSocket>(envoy::config::core::v3::TransportSocket const&) Line | Count | Source | 293 | 10.4k | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 10.4k | return *getAndCheckFactory<Factory>(message, false); | 295 | 10.4k | } |
Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 2 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 2 | return *getAndCheckFactory<Factory>(message, false); | 295 | 2 | } |
Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Envoy::Server::Configuration::StatsSinkFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::StatsSinkFactory, envoy::config::metrics::v3::StatsSink>(envoy::config::metrics::v3::StatsSink const&) Line | Count | Source | 293 | 84 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 84 | return *getAndCheckFactory<Factory>(message, false); | 295 | 84 | } |
Envoy::Quic::EnvoyQuicCryptoServerStreamFactoryInterface& Envoy::Config::Utility::getAndCheckFactory<Envoy::Quic::EnvoyQuicCryptoServerStreamFactoryInterface, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 18 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 18 | return *getAndCheckFactory<Factory>(message, false); | 295 | 18 | } |
Envoy::Quic::EnvoyQuicProofSourceFactoryInterface& Envoy::Config::Utility::getAndCheckFactory<Envoy::Quic::EnvoyQuicProofSourceFactoryInterface, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 17 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 17 | return *getAndCheckFactory<Factory>(message, false); | 295 | 17 | } |
Envoy::Quic::EnvoyQuicConnectionDebugVisitorFactoryInterface& Envoy::Config::Utility::getAndCheckFactory<Envoy::Quic::EnvoyQuicConnectionDebugVisitorFactoryInterface, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 5 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 5 | return *getAndCheckFactory<Factory>(message, false); | 295 | 5 | } |
Envoy::Quic::EnvoyQuicConnectionIdGeneratorConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Quic::EnvoyQuicConnectionIdGeneratorConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 10 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 10 | return *getAndCheckFactory<Factory>(message, false); | 295 | 10 | } |
Envoy::Quic::EnvoyQuicServerPreferredAddressConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Quic::EnvoyQuicServerPreferredAddressConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 4 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 4 | return *getAndCheckFactory<Factory>(message, false); | 295 | 4 | } |
Unexecuted instantiation: Envoy::Ssl::TlsCertificateSelectorConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Ssl::TlsCertificateSelectorConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Server::Configuration::ProactiveResourceMonitorFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::ProactiveResourceMonitorFactory, envoy::config::overload::v3::ResourceMonitor>(envoy::config::overload::v3::ResourceMonitor const&) Envoy::Server::Configuration::ResourceMonitorFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::ResourceMonitorFactory, envoy::config::overload::v3::ResourceMonitor>(envoy::config::overload::v3::ResourceMonitor const&) Line | Count | Source | 293 | 54 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 54 | return *getAndCheckFactory<Factory>(message, false); | 295 | 54 | } |
Unexecuted instantiation: Envoy::Geolocation::GeoipProviderFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Geolocation::GeoipProviderFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::ThriftProxy::ThriftFilters::NamedThriftFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::NetworkFilters::ThriftProxy::ThriftFilters::NamedThriftFilterConfigFactory, envoy::extensions::filters::network::thrift_proxy::v3::ThriftFilter>(envoy::extensions::filters::network::thrift_proxy::v3::ThriftFilter const&) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::GenericProxy::CodecFactoryConfig& Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::NetworkFilters::GenericProxy::CodecFactoryConfig, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::GenericProxy::NamedFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::NetworkFilters::GenericProxy::NamedFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>, envoy::config::accesslog::v3::ExtensionFilter>(envoy::config::accesslog::v3::ExtensionFilter const&) Unexecuted instantiation: Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>, envoy::config::accesslog::v3::AccessLog>(envoy::config::accesslog::v3::AccessLog const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory, envoy::extensions::filters::udp::udp_proxy::v3::UdpProxyConfig_SessionFilter>(envoy::extensions::filters::udp::udp_proxy::v3::UdpProxyConfig_SessionFilter const&) Unexecuted instantiation: Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Extensions::Common::Tap::TapSinkFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::Common::Tap::TapSinkFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Extensions::Http::CustomResponse::ModifyRequestHeadersActionFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::Http::CustomResponse::ModifyRequestHeadersActionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>, xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 65 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 65 | return *getAndCheckFactory<Factory>(message, false); | 295 | 65 | } |
Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>& Envoy::Config::Utility::getAndCheckFactory<Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Envoy::Extensions::Filters::Common::RBAC::MatcherExtensionFactory& Envoy::Config::Utility::getAndCheckFactory<Envoy::Extensions::Filters::Common::RBAC::MatcherExtensionFactory, envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 293 | 18 | static Factory& getAndCheckFactory(const ProtoMessage& message) { | 294 | 18 | return *getAndCheckFactory<Factory>(message, false); | 295 | 18 | } |
|
296 | | |
297 | | /** |
298 | | * Get type URL from a typed config. |
299 | | * @param typed_config for the extension config. |
300 | | */ |
301 | 145k | static std::string getFactoryType(const ProtobufWkt::Any& typed_config) { |
302 | 145k | static const std::string typed_struct_type = |
303 | 145k | xds::type::v3::TypedStruct::default_instance().GetTypeName(); |
304 | 145k | static const std::string legacy_typed_struct_type = |
305 | 145k | udpa::type::v1::TypedStruct::default_instance().GetTypeName(); |
306 | | // Unpack methods will only use the fully qualified type name after the last '/'. |
307 | | // https://github.com/protocolbuffers/protobuf/blob/3.6.x/src/google/protobuf/any.proto#L87 |
308 | 145k | auto type = std::string(TypeUtil::typeUrlToDescriptorFullName(typed_config.type_url())); |
309 | 145k | if (type == typed_struct_type) { |
310 | 3.93k | xds::type::v3::TypedStruct typed_struct; |
311 | 3.93k | MessageUtil::unpackToOrThrow(typed_config, typed_struct); |
312 | | // Not handling nested structs or typed structs in typed structs |
313 | 3.93k | return std::string(TypeUtil::typeUrlToDescriptorFullName(typed_struct.type_url())); |
314 | 141k | } else if (type == legacy_typed_struct_type) { |
315 | 359 | udpa::type::v1::TypedStruct typed_struct; |
316 | 359 | MessageUtil::unpackToOrThrow(typed_config, typed_struct); |
317 | | // Not handling nested structs or typed structs in typed structs |
318 | 359 | return std::string(TypeUtil::typeUrlToDescriptorFullName(typed_struct.type_url())); |
319 | 359 | } |
320 | 141k | return type; |
321 | 145k | } |
322 | | |
323 | | /** |
324 | | * Get a Factory from the registry by type URL. |
325 | | * @param typed_config for the extension config. |
326 | | */ |
327 | 160k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { |
328 | 160k | if (typed_config.type_url().empty()) { |
329 | 19.9k | return nullptr; |
330 | 19.9k | } |
331 | 140k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); |
332 | 160k | } Unexecuted instantiation: Envoy::Upstream::HealthCheckEventSinkFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Upstream::HealthCheckEventSinkFactory>(google::protobuf::Any const&) Envoy::Upstream::UpstreamLocalAddressSelectorFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Upstream::UpstreamLocalAddressSelectorFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 2.40k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 2.40k | if (typed_config.type_url().empty()) { | 329 | 0 | return nullptr; | 330 | 0 | } | 331 | 2.40k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 2.40k | } |
Unexecuted instantiation: Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory>(google::protobuf::Any const&) Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 2.41k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 2.41k | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 2.40k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 2.41k | } |
Unexecuted instantiation: Envoy::Upstream::TypedLoadBalancerFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Upstream::TypedLoadBalancerFactory>(google::protobuf::Any const&) Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 2.40k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 2.40k | if (typed_config.type_url().empty()) { | 329 | 0 | return nullptr; | 330 | 0 | } | 331 | 2.40k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 2.40k | } |
Unexecuted instantiation: Envoy::Server::Configuration::CustomHealthCheckerFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::CustomHealthCheckerFactory>(google::protobuf::Any const&) Envoy::Router::GenericConnPoolFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Router::GenericConnPoolFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 22 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 22 | if (typed_config.type_url().empty()) { | 329 | 22 | return nullptr; | 330 | 22 | } | 331 | 0 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 22 | } |
Unexecuted instantiation: Envoy::Ssl::HandshakerFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Ssl::HandshakerFactory>(google::protobuf::Any const&) Envoy::Http::OriginalIPDetectionFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Http::OriginalIPDetectionFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 6.28k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 6.28k | if (typed_config.type_url().empty()) { | 329 | 12 | return nullptr; | 330 | 12 | } | 331 | 6.27k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 6.28k | } |
Envoy::Http::EarlyHeaderMutationFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Http::EarlyHeaderMutationFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 16 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 16 | if (typed_config.type_url().empty()) { | 329 | 9 | return nullptr; | 330 | 9 | } | 331 | 7 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 16 | } |
Envoy::Server::Configuration::NamedHttpFilterConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::NamedHttpFilterConfigFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 4.28k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 4.28k | if (typed_config.type_url().empty()) { | 329 | 898 | return nullptr; | 330 | 898 | } | 331 | 3.38k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 4.28k | } |
Envoy::Formatter::CommandParserFactoryBase<Envoy::Formatter::HttpFormatterContext>* Envoy::Config::Utility::getFactoryByType<Envoy::Formatter::CommandParserFactoryBase<Envoy::Formatter::HttpFormatterContext> >(google::protobuf::Any const&) Line | Count | Source | 327 | 5 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 5 | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 4 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 5 | } |
Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Formatter::HttpFormatterContext>* Envoy::Config::Utility::getFactoryByType<Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Formatter::HttpFormatterContext> >(google::protobuf::Any const&) Line | Count | Source | 327 | 400 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 400 | if (typed_config.type_url().empty()) { | 329 | 121 | return nullptr; | 330 | 121 | } | 331 | 279 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 400 | } |
Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext>* Envoy::Config::Utility::getFactoryByType<Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext> >(google::protobuf::Any const&) Line | Count | Source | 327 | 5.77k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 5.77k | if (typed_config.type_url().empty()) { | 329 | 1.59k | return nullptr; | 330 | 1.59k | } | 331 | 4.18k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 5.77k | } |
Envoy::Router::ClusterSpecifierPluginFactoryConfig* Envoy::Config::Utility::getFactoryByType<Envoy::Router::ClusterSpecifierPluginFactoryConfig>(google::protobuf::Any const&) Line | Count | Source | 327 | 19.7k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 19.7k | if (typed_config.type_url().empty()) { | 329 | 16.8k | return nullptr; | 330 | 16.8k | } | 331 | 2.89k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 19.7k | } |
Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext> >(google::protobuf::Any const&) Line | Count | Source | 327 | 64.9k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 64.9k | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 64.9k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 64.9k | } |
Envoy::Matcher::DataInputFactory<Envoy::Http::HttpMatchingData>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::DataInputFactory<Envoy::Http::HttpMatchingData> >(google::protobuf::Any const&) Line | Count | Source | 327 | 33.1k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 33.1k | if (typed_config.type_url().empty()) { | 329 | 56 | return nullptr; | 330 | 56 | } | 331 | 33.1k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 33.1k | } |
Envoy::Matcher::CommonProtocolInputFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::CommonProtocolInputFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 169 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 169 | if (typed_config.type_url().empty()) { | 329 | 56 | return nullptr; | 330 | 56 | } | 331 | 113 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 169 | } |
Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData> >(google::protobuf::Any const&) Line | Count | Source | 327 | 16 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 16 | if (typed_config.type_url().empty()) { | 329 | 4 | return nullptr; | 330 | 4 | } | 331 | 12 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 16 | } |
Envoy::Matcher::InputMatcherFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::InputMatcherFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 7 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 7 | if (typed_config.type_url().empty()) { | 329 | 3 | return nullptr; | 330 | 3 | } | 331 | 4 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 7 | } |
Envoy::Upstream::RetryHostPredicateFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Upstream::RetryHostPredicateFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 9 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 9 | if (typed_config.type_url().empty()) { | 329 | 7 | return nullptr; | 330 | 7 | } | 331 | 2 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 9 | } |
Envoy::Upstream::RetryPriorityFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Upstream::RetryPriorityFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 6 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 6 | if (typed_config.type_url().empty()) { | 329 | 4 | return nullptr; | 330 | 4 | } | 331 | 2 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 6 | } |
Envoy::Upstream::RetryOptionsPredicateFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Upstream::RetryOptionsPredicateFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 4 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 4 | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 3 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 4 | } |
Envoy::Router::InternalRedirectPredicateFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Router::InternalRedirectPredicateFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 5 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 5 | if (typed_config.type_url().empty()) { | 329 | 2 | return nullptr; | 330 | 2 | } | 331 | 3 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 5 | } |
Envoy::Router::EarlyDataPolicyFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Router::EarlyDataPolicyFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 72 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 72 | if (typed_config.type_url().empty()) { | 329 | 16 | return nullptr; | 330 | 16 | } | 331 | 56 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 72 | } |
Envoy::Router::PathRewriterFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Router::PathRewriterFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 1.09k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 1.09k | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 1.09k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 1.09k | } |
Envoy::Router::PathMatcherFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Router::PathMatcherFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 1.67k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 1.67k | if (typed_config.type_url().empty()) { | 329 | 17 | return nullptr; | 330 | 17 | } | 331 | 1.65k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 1.67k | } |
Envoy::RateLimit::DescriptorProducerFactory* Envoy::Config::Utility::getFactoryByType<Envoy::RateLimit::DescriptorProducerFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 2.22k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 2.22k | if (typed_config.type_url().empty()) { | 329 | 11 | return nullptr; | 330 | 11 | } | 331 | 2.21k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 2.22k | } |
Envoy::Config::ConfigValidatorFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Config::ConfigValidatorFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 2 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 2 | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 1 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 2 | } |
Envoy::Server::Configuration::TracerFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::TracerFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 111 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 111 | if (typed_config.type_url().empty()) { | 329 | 45 | return nullptr; | 330 | 45 | } | 331 | 66 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 111 | } |
Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig* Envoy::Config::Utility::getFactoryByType<Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig>(google::protobuf::Any const&) Line | Count | Source | 327 | 12 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 12 | if (typed_config.type_url().empty()) { | 329 | 2 | return nullptr; | 330 | 2 | } | 331 | 10 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 12 | } |
Unexecuted instantiation: Envoy::Network::DnsResolverFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Network::DnsResolverFactory>(google::protobuf::Any const&) Envoy::Matchers::StringMatcherExtensionFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Matchers::StringMatcherExtensionFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 682 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 682 | if (typed_config.type_url().empty()) { | 329 | 42 | return nullptr; | 330 | 42 | } | 331 | 640 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 682 | } |
Envoy::Server::Configuration::GuardDogActionFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::GuardDogActionFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 29 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 29 | if (typed_config.type_url().empty()) { | 329 | 17 | return nullptr; | 330 | 17 | } | 331 | 12 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 29 | } |
Envoy::Server::Configuration::BootstrapExtensionFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::BootstrapExtensionFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 1 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 1 | if (typed_config.type_url().empty()) { | 329 | 0 | return nullptr; | 330 | 0 | } | 331 | 1 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 1 | } |
Envoy::Server::Configuration::FatalActionFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::FatalActionFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 18 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 18 | if (typed_config.type_url().empty()) { | 329 | 18 | return nullptr; | 330 | 18 | } | 331 | 0 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 18 | } |
Envoy::Server::ListenerManagerFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::ListenerManagerFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 2 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 2 | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 1 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 2 | } |
Envoy::Regex::EngineFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Regex::EngineFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 122 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 122 | if (typed_config.type_url().empty()) { | 329 | 11 | return nullptr; | 330 | 11 | } | 331 | 111 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 122 | } |
Envoy::Config::XdsResourcesDelegateFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Config::XdsResourcesDelegateFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 3 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 3 | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 2 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 3 | } |
Envoy::Config::XdsConfigTrackerFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Config::XdsConfigTrackerFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 3 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 3 | if (typed_config.type_url().empty()) { | 329 | 2 | return nullptr; | 330 | 2 | } | 331 | 1 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 3 | } |
Unexecuted instantiation: Envoy::KeyValueStoreFactory* Envoy::Config::Utility::getFactoryByType<Envoy::KeyValueStoreFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Network::UdpPacketWriterFactoryFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Network::UdpPacketWriterFactoryFactory>(google::protobuf::Any const&) Envoy::Server::Configuration::NamedNetworkFilterConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::NamedNetworkFilterConfigFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 2.04k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 2.04k | if (typed_config.type_url().empty()) { | 329 | 5 | return nullptr; | 330 | 5 | } | 331 | 2.04k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 2.04k | } |
Envoy::Server::Configuration::NamedListenerFilterConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::NamedListenerFilterConfigFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 1 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 1 | if (typed_config.type_url().empty()) { | 329 | 0 | return nullptr; | 330 | 0 | } | 331 | 1 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 1 | } |
Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 3 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 3 | if (typed_config.type_url().empty()) { | 329 | 2 | return nullptr; | 330 | 2 | } | 331 | 1 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 3 | } |
Envoy::Server::Configuration::NamedUdpListenerFilterConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::NamedUdpListenerFilterConfigFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 3 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 3 | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 2 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 3 | } |
Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 10.4k | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 10.4k | if (typed_config.type_url().empty()) { | 329 | 2 | return nullptr; | 330 | 2 | } | 331 | 10.4k | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 10.4k | } |
Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext> >(google::protobuf::Any const&) Line | Count | Source | 327 | 2 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 2 | if (typed_config.type_url().empty()) { | 329 | 0 | return nullptr; | 330 | 0 | } | 331 | 2 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 2 | } |
Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Network::MatchingData>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::DataInputFactory<Envoy::Network::MatchingData> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData> >(google::protobuf::Any const&) Envoy::Server::Configuration::StatsSinkFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::StatsSinkFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 84 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 84 | if (typed_config.type_url().empty()) { | 329 | 50 | return nullptr; | 330 | 50 | } | 331 | 34 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 84 | } |
Envoy::Quic::EnvoyQuicCryptoServerStreamFactoryInterface* Envoy::Config::Utility::getFactoryByType<Envoy::Quic::EnvoyQuicCryptoServerStreamFactoryInterface>(google::protobuf::Any const&) Line | Count | Source | 327 | 18 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 18 | if (typed_config.type_url().empty()) { | 329 | 0 | return nullptr; | 330 | 0 | } | 331 | 18 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 18 | } |
Envoy::Quic::EnvoyQuicProofSourceFactoryInterface* Envoy::Config::Utility::getFactoryByType<Envoy::Quic::EnvoyQuicProofSourceFactoryInterface>(google::protobuf::Any const&) Line | Count | Source | 327 | 17 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 17 | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 16 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 17 | } |
Envoy::Quic::EnvoyQuicConnectionDebugVisitorFactoryInterface* Envoy::Config::Utility::getFactoryByType<Envoy::Quic::EnvoyQuicConnectionDebugVisitorFactoryInterface>(google::protobuf::Any const&) Line | Count | Source | 327 | 5 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 5 | if (typed_config.type_url().empty()) { | 329 | 1 | return nullptr; | 330 | 1 | } | 331 | 4 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 5 | } |
Envoy::Quic::EnvoyQuicConnectionIdGeneratorConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Quic::EnvoyQuicConnectionIdGeneratorConfigFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 10 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 10 | if (typed_config.type_url().empty()) { | 329 | 0 | return nullptr; | 330 | 0 | } | 331 | 10 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 10 | } |
Envoy::Quic::EnvoyQuicServerPreferredAddressConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Quic::EnvoyQuicServerPreferredAddressConfigFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 4 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 4 | if (typed_config.type_url().empty()) { | 329 | 2 | return nullptr; | 330 | 2 | } | 331 | 2 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 4 | } |
Unexecuted instantiation: Envoy::Ssl::TlsCertificateSelectorConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Ssl::TlsCertificateSelectorConfigFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Server::Configuration::ProactiveResourceMonitorFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::ProactiveResourceMonitorFactory>(google::protobuf::Any const&) Envoy::Server::Configuration::ResourceMonitorFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::ResourceMonitorFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 54 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 54 | if (typed_config.type_url().empty()) { | 329 | 24 | return nullptr; | 330 | 24 | } | 331 | 30 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 54 | } |
Unexecuted instantiation: Envoy::Extensions::Http::InjectedCredentials::Common::NamedCredentialInjectorConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Extensions::Http::InjectedCredentials::Common::NamedCredentialInjectorConfigFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Geolocation::GeoipProviderFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Geolocation::GeoipProviderFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::ThriftProxy::ThriftFilters::NamedThriftFilterConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Extensions::NetworkFilters::ThriftProxy::ThriftFilters::NamedThriftFilterConfigFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::TcpProxy::GenericConnPoolFactory* Envoy::Config::Utility::getFactoryByType<Envoy::TcpProxy::GenericConnPoolFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::GenericProxy::CodecFactoryConfig* Envoy::Config::Utility::getFactoryByType<Envoy::Extensions::NetworkFilters::GenericProxy::CodecFactoryConfig>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Extensions::NetworkFilters::GenericProxy::NamedFilterConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Extensions::NetworkFilters::GenericProxy::NamedFilterConfigFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>* Envoy::Config::Utility::getFactoryByType<Envoy::AccessLog::ExtensionFilterFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>* Envoy::Config::Utility::getFactoryByType<Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Formatter::CommandParserFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>* Envoy::Config::Utility::getFactoryByType<Envoy::Formatter::CommandParserFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::DataInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Matcher::DataInputFactory<Envoy::Network::UdpMatchingData>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::DataInputFactory<Envoy::Network::UdpMatchingData> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData> >(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Extensions::Tracers::OpenTelemetry::SamplerFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Extensions::Tracers::OpenTelemetry::SamplerFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Extensions::Tracers::OpenTelemetry::ResourceDetectorFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Extensions::Tracers::OpenTelemetry::ResourceDetectorFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Extensions::Common::Tap::TapSinkFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Extensions::Common::Tap::TapSinkFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Extensions::Http::CustomResponse::ModifyRequestHeadersActionFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Extensions::Http::CustomResponse::ModifyRequestHeadersActionFactory>(google::protobuf::Any const&) Unexecuted instantiation: Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext> >(google::protobuf::Any const&) Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>* Envoy::Config::Utility::getFactoryByType<Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext> >(google::protobuf::Any const&) Line | Count | Source | 327 | 65 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 65 | if (typed_config.type_url().empty()) { | 329 | 12 | return nullptr; | 330 | 12 | } | 331 | 53 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 65 | } |
Envoy::Extensions::Filters::Common::RBAC::MatcherExtensionFactory* Envoy::Config::Utility::getFactoryByType<Envoy::Extensions::Filters::Common::RBAC::MatcherExtensionFactory>(google::protobuf::Any const&) Line | Count | Source | 327 | 18 | template <class Factory> static Factory* getFactoryByType(const ProtobufWkt::Any& typed_config) { | 328 | 18 | if (typed_config.type_url().empty()) { | 329 | 6 | return nullptr; | 330 | 6 | } | 331 | 12 | return Registry::FactoryRegistry<Factory>::getFactoryByType(getFactoryType(typed_config)); | 332 | 18 | } |
|
333 | | |
334 | | /** |
335 | | * Translate a nested config into a proto message provided by the implementation factory. |
336 | | * @param enclosing_message proto that contains a field 'typed_config'. Note: the enclosing proto |
337 | | * is provided because for statically registered implementations, a custom config is generally |
338 | | * optional, which means the conversion must be done conditionally. |
339 | | * @param validation_visitor message validation visitor instance. |
340 | | * @param factory implementation factory with the method 'createEmptyConfigProto' to produce a |
341 | | * proto to be filled with the translated configuration. |
342 | | */ |
343 | | template <class ProtoMessage, class Factory> |
344 | | static ProtobufTypes::MessagePtr |
345 | | translateToFactoryConfig(const ProtoMessage& enclosing_message, |
346 | | ProtobufMessage::ValidationVisitor& validation_visitor, |
347 | 33.0k | Factory& factory) { |
348 | 33.0k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); |
349 | | |
350 | | // Fail in an obvious way if a plugin does not return a proto. |
351 | 33.0k | RELEASE_ASSERT(config != nullptr, ""); |
352 | | |
353 | | // Check that the config type is not google.protobuf.Empty |
354 | 33.0k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); |
355 | | |
356 | 33.0k | translateOpaqueConfig(enclosing_message.typed_config(), validation_visitor, *config); |
357 | 33.0k | return config; |
358 | 33.0k | } std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::extensions::filters::network::http_connection_manager::v3::HttpFilter, Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory>(envoy::extensions::filters::network::http_connection_manager::v3::HttpFilter const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory&) Line | Count | Source | 347 | 2.40k | Factory& factory) { | 348 | 2.40k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 349 | | | 350 | | // Fail in an obvious way if a plugin does not return a proto. | 351 | 2.40k | RELEASE_ASSERT(config != nullptr, ""); | 352 | | | 353 | | // Check that the config type is not google.protobuf.Empty | 354 | 2.40k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 355 | | | 356 | 2.40k | translateOpaqueConfig(enclosing_message.typed_config(), validation_visitor, *config); | 357 | 2.40k | return config; | 358 | 2.40k | } |
std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::core::v3::TransportSocket, Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory>(envoy::config::core::v3::TransportSocket const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::UpstreamTransportSocketConfigFactory&) Line | Count | Source | 347 | 2.40k | Factory& factory) { | 348 | 2.40k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 349 | | | 350 | | // Fail in an obvious way if a plugin does not return a proto. | 351 | 2.40k | RELEASE_ASSERT(config != nullptr, ""); | 352 | | | 353 | | // Check that the config type is not google.protobuf.Empty | 354 | 2.40k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 355 | | | 356 | 2.40k | translateOpaqueConfig(enclosing_message.typed_config(), validation_visitor, *config); | 357 | 2.40k | return config; | 358 | 2.40k | } |
std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::extensions::filters::network::http_connection_manager::v3::HttpFilter, Envoy::Server::Configuration::NamedHttpFilterConfigFactory>(envoy::extensions::filters::network::http_connection_manager::v3::HttpFilter const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedHttpFilterConfigFactory&) Line | Count | Source | 347 | 3.32k | Factory& factory) { | 348 | 3.32k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 349 | | | 350 | | // Fail in an obvious way if a plugin does not return a proto. | 351 | 3.32k | RELEASE_ASSERT(config != nullptr, ""); | 352 | | | 353 | | // Check that the config type is not google.protobuf.Empty | 354 | 3.32k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 355 | | | 356 | 3.32k | translateOpaqueConfig(enclosing_message.typed_config(), validation_visitor, *config); | 357 | 3.32k | return config; | 358 | 3.32k | } |
std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::accesslog::v3::AccessLog, Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext> >(envoy::config::accesslog::v3::AccessLog const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Formatter::HttpFormatterContext>&) Line | Count | Source | 347 | 3.93k | Factory& factory) { | 348 | 3.93k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 349 | | | 350 | | // Fail in an obvious way if a plugin does not return a proto. | 351 | 3.93k | RELEASE_ASSERT(config != nullptr, ""); | 352 | | | 353 | | // Check that the config type is not google.protobuf.Empty | 354 | 3.93k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 355 | | | 356 | 3.93k | translateOpaqueConfig(enclosing_message.typed_config(), validation_visitor, *config); | 357 | 3.93k | return config; | 358 | 3.93k | } |
Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::core::v3::TypedExtensionConfig, Envoy::Router::ClusterSpecifierPluginFactoryConfig>(envoy::config::core::v3::TypedExtensionConfig const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Router::ClusterSpecifierPluginFactoryConfig&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::route::v3::RetryPolicy_RetryHostPredicate, Envoy::Upstream::RetryHostPredicateFactory>(envoy::config::route::v3::RetryPolicy_RetryHostPredicate const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Upstream::RetryHostPredicateFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::route::v3::RetryPolicy_RetryPriority, Envoy::Upstream::RetryPriorityFactory>(envoy::config::route::v3::RetryPolicy_RetryPriority const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Upstream::RetryPriorityFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::core::v3::TypedExtensionConfig, Envoy::Upstream::RetryOptionsPredicateFactory>(envoy::config::core::v3::TypedExtensionConfig const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Upstream::RetryOptionsPredicateFactory&) std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::core::v3::TypedExtensionConfig, Envoy::Router::EarlyDataPolicyFactory>(envoy::config::core::v3::TypedExtensionConfig const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Router::EarlyDataPolicyFactory&) Line | Count | Source | 347 | 43 | Factory& factory) { | 348 | 43 | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 349 | | | 350 | | // Fail in an obvious way if a plugin does not return a proto. | 351 | 43 | RELEASE_ASSERT(config != nullptr, ""); | 352 | | | 353 | | // Check that the config type is not google.protobuf.Empty | 354 | 43 | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 355 | | | 356 | 43 | translateOpaqueConfig(enclosing_message.typed_config(), validation_visitor, *config); | 357 | 43 | return config; | 358 | 43 | } |
Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::trace::v3::Tracing_Http, Envoy::Server::Configuration::TracerFactory>(envoy::config::trace::v3::Tracing_Http const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::TracerFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<xds::core::v3::TypedExtensionConfig, Envoy::Matchers::StringMatcherExtensionFactory>(xds::core::v3::TypedExtensionConfig const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matchers::StringMatcherExtensionFactory&) std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::listener::v3::Filter, Envoy::Server::Configuration::NamedNetworkFilterConfigFactory>(envoy::config::listener::v3::Filter const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedNetworkFilterConfigFactory&) Line | Count | Source | 347 | 10.4k | Factory& factory) { | 348 | 10.4k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 349 | | | 350 | | // Fail in an obvious way if a plugin does not return a proto. | 351 | 10.4k | RELEASE_ASSERT(config != nullptr, ""); | 352 | | | 353 | | // Check that the config type is not google.protobuf.Empty | 354 | 10.4k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 355 | | | 356 | 10.4k | translateOpaqueConfig(enclosing_message.typed_config(), validation_visitor, *config); | 357 | 10.4k | return config; | 358 | 10.4k | } |
Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::listener::v3::ListenerFilter, Envoy::Server::Configuration::NamedListenerFilterConfigFactory>(envoy::config::listener::v3::ListenerFilter const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedListenerFilterConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::listener::v3::ListenerFilter, Envoy::Server::Configuration::NamedUdpListenerFilterConfigFactory>(envoy::config::listener::v3::ListenerFilter const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedUdpListenerFilterConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::listener::v3::ListenerFilter, Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory>(envoy::config::listener::v3::ListenerFilter const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory&) std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::core::v3::TransportSocket, Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory>(envoy::config::core::v3::TransportSocket const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::DownstreamTransportSocketConfigFactory&) Line | Count | Source | 347 | 10.4k | Factory& factory) { | 348 | 10.4k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 349 | | | 350 | | // Fail in an obvious way if a plugin does not return a proto. | 351 | 10.4k | RELEASE_ASSERT(config != nullptr, ""); | 352 | | | 353 | | // Check that the config type is not google.protobuf.Empty | 354 | 10.4k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 355 | | | 356 | 10.4k | translateOpaqueConfig(enclosing_message.typed_config(), validation_visitor, *config); | 357 | 10.4k | return config; | 358 | 10.4k | } |
Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::metrics::v3::StatsSink, Envoy::Server::Configuration::StatsSinkFactory>(envoy::config::metrics::v3::StatsSink const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::StatsSinkFactory&) std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::core::v3::TypedExtensionConfig, Envoy::Quic::EnvoyQuicConnectionIdGeneratorConfigFactory>(envoy::config::core::v3::TypedExtensionConfig const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Quic::EnvoyQuicConnectionIdGeneratorConfigFactory&) Line | Count | Source | 347 | 9 | Factory& factory) { | 348 | 9 | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 349 | | | 350 | | // Fail in an obvious way if a plugin does not return a proto. | 351 | 9 | RELEASE_ASSERT(config != nullptr, ""); | 352 | | | 353 | | // Check that the config type is not google.protobuf.Empty | 354 | 9 | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 355 | | | 356 | 9 | translateOpaqueConfig(enclosing_message.typed_config(), validation_visitor, *config); | 357 | 9 | return config; | 358 | 9 | } |
Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::core::v3::TypedExtensionConfig, Envoy::Quic::EnvoyQuicServerPreferredAddressConfigFactory>(envoy::config::core::v3::TypedExtensionConfig const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Quic::EnvoyQuicServerPreferredAddressConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::overload::v3::ResourceMonitor, Envoy::Server::Configuration::ProactiveResourceMonitorFactory>(envoy::config::overload::v3::ResourceMonitor const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::ProactiveResourceMonitorFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::overload::v3::ResourceMonitor, Envoy::Server::Configuration::ResourceMonitorFactory>(envoy::config::overload::v3::ResourceMonitor const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::ResourceMonitorFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::accesslog::v3::ExtensionFilter, Envoy::Extensions::AccessLoggers::Filters::CEL::CELAccessLogExtensionFilterFactory>(envoy::config::accesslog::v3::ExtensionFilter const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::AccessLoggers::Filters::CEL::CELAccessLogExtensionFilterFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::core::v3::GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin, Envoy::Extensions::GrpcCredentials::FileBasedMetadata::FileBasedMetadataGrpcCredentialsFactory>(envoy::config::core::v3::GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::GrpcCredentials::FileBasedMetadata::FileBasedMetadataGrpcCredentialsFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::core::v3::GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin, Envoy::Extensions::GrpcCredentials::AwsIam::AwsIamGrpcCredentialsFactory>(envoy::config::core::v3::GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::GrpcCredentials::AwsIam::AwsIamGrpcCredentialsFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::core::v3::TypedExtensionConfig, Envoy::Geolocation::GeoipProviderFactory>(envoy::config::core::v3::TypedExtensionConfig const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Geolocation::GeoipProviderFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::extensions::filters::network::thrift_proxy::v3::ThriftFilter, Envoy::Extensions::NetworkFilters::ThriftProxy::ThriftFilters::NamedThriftFilterConfigFactory>(envoy::extensions::filters::network::thrift_proxy::v3::ThriftFilter const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::NetworkFilters::ThriftProxy::ThriftFilters::NamedThriftFilterConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::config::accesslog::v3::AccessLog, Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext> >(envoy::config::accesslog::v3::AccessLog const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::AccessLog::AccessLogInstanceFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateToFactoryConfig<envoy::extensions::filters::udp::udp_proxy::v3::UdpProxyConfig_SessionFilter, Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory>(envoy::extensions::filters::udp::udp_proxy::v3::UdpProxyConfig_SessionFilter const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory&) |
359 | | |
360 | | /** |
361 | | * Translate the typed any field into a proto message provided by the implementation factory. |
362 | | * @param typed_config typed configuration. |
363 | | * @param validation_visitor message validation visitor instance. |
364 | | * @param factory implementation factory with the method 'createEmptyConfigProto' to produce a |
365 | | * proto to be filled with the translated configuration. |
366 | | */ |
367 | | template <class Factory> |
368 | | static ProtobufTypes::MessagePtr |
369 | | translateAnyToFactoryConfig(const ProtobufWkt::Any& typed_config, |
370 | | ProtobufMessage::ValidationVisitor& validation_visitor, |
371 | 113k | Factory& factory) { |
372 | 113k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); |
373 | | |
374 | | // Fail in an obvious way if a plugin does not return a proto. |
375 | 113k | RELEASE_ASSERT(config != nullptr, ""); |
376 | | |
377 | | // Check that the config type is not google.protobuf.Empty |
378 | 113k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); |
379 | | |
380 | 113k | translateOpaqueConfig(typed_config, validation_visitor, *config); |
381 | 113k | return config; |
382 | 113k | } Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedUpstreamNetworkFilterConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::UpstreamHttpFilterConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Server::Configuration::NamedHttpFilterConfigFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedHttpFilterConfigFactory&) std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Server::Configuration::RequestIDExtensionFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::RequestIDExtensionFactory&) Line | Count | Source | 371 | 6.30k | Factory& factory) { | 372 | 6.30k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 373 | | | 374 | | // Fail in an obvious way if a plugin does not return a proto. | 375 | 6.30k | RELEASE_ASSERT(config != nullptr, ""); | 376 | | | 377 | | // Check that the config type is not google.protobuf.Empty | 378 | 6.30k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 379 | | | 380 | 6.30k | translateOpaqueConfig(typed_config, validation_visitor, *config); | 381 | 6.30k | return config; | 382 | 6.30k | } |
Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Formatter::CommandParserFactoryBase<Envoy::Formatter::HttpFormatterContext> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Formatter::CommandParserFactoryBase<Envoy::Formatter::HttpFormatterContext>&) std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::ActionFactory<Envoy::Router::RouteActionContext>&) Line | Count | Source | 371 | 64.9k | Factory& factory) { | 372 | 64.9k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 373 | | | 374 | | // Fail in an obvious way if a plugin does not return a proto. | 375 | 64.9k | RELEASE_ASSERT(config != nullptr, ""); | 376 | | | 377 | | // Check that the config type is not google.protobuf.Empty | 378 | 64.9k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 379 | | | 380 | 64.9k | translateOpaqueConfig(typed_config, validation_visitor, *config); | 381 | 64.9k | return config; | 382 | 64.9k | } |
std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::DataInputFactory<Envoy::Http::HttpMatchingData> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::DataInputFactory<Envoy::Http::HttpMatchingData>&) Line | Count | Source | 371 | 32.9k | Factory& factory) { | 372 | 32.9k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 373 | | | 374 | | // Fail in an obvious way if a plugin does not return a proto. | 375 | 32.9k | RELEASE_ASSERT(config != nullptr, ""); | 376 | | | 377 | | // Check that the config type is not google.protobuf.Empty | 378 | 32.9k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 379 | | | 380 | 32.9k | translateOpaqueConfig(typed_config, validation_visitor, *config); | 381 | 32.9k | return config; | 382 | 32.9k | } |
Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::CommonProtocolInputFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::CommonProtocolInputFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::CustomMatcherFactory<Envoy::Http::HttpMatchingData>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::InputMatcherFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::InputMatcherFactory&) std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Router::PathRewriterFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Router::PathRewriterFactory&) Line | Count | Source | 371 | 1.09k | Factory& factory) { | 372 | 1.09k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 373 | | | 374 | | // Fail in an obvious way if a plugin does not return a proto. | 375 | 1.09k | RELEASE_ASSERT(config != nullptr, ""); | 376 | | | 377 | | // Check that the config type is not google.protobuf.Empty | 378 | 1.09k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 379 | | | 380 | 1.09k | translateOpaqueConfig(typed_config, validation_visitor, *config); | 381 | 1.09k | return config; | 382 | 1.09k | } |
std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Router::PathMatcherFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Router::PathMatcherFactory&) Line | Count | Source | 371 | 1.61k | Factory& factory) { | 372 | 1.61k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 373 | | | 374 | | // Fail in an obvious way if a plugin does not return a proto. | 375 | 1.61k | RELEASE_ASSERT(config != nullptr, ""); | 376 | | | 377 | | // Check that the config type is not google.protobuf.Empty | 378 | 1.61k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 379 | | | 380 | 1.61k | translateOpaqueConfig(typed_config, validation_visitor, *config); | 381 | 1.61k | return config; | 382 | 1.61k | } |
Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::RateLimit::DescriptorProducerFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::RateLimit::DescriptorProducerFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Http::HeaderValidators::EnvoyDefault::HeaderValidatorFactoryConfig>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Http::HeaderValidators::EnvoyDefault::HeaderValidatorFactoryConfig&) std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Http::OriginalIPDetection::Xff::XffIPDetectionFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Http::OriginalIPDetection::Xff::XffIPDetectionFactory&) Line | Count | Source | 371 | 6.26k | Factory& factory) { | 372 | 6.26k | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 373 | | | 374 | | // Fail in an obvious way if a plugin does not return a proto. | 375 | 6.26k | RELEASE_ASSERT(config != nullptr, ""); | 376 | | | 377 | | // Check that the config type is not google.protobuf.Empty | 378 | 6.26k | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 379 | | | 380 | 6.26k | translateOpaqueConfig(typed_config, validation_visitor, *config); | 381 | 6.26k | return config; | 382 | 6.26k | } |
Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Server::Configuration::BootstrapExtensionFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::BootstrapExtensionFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Regex::EngineFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Regex::EngineFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Server::Configuration::NamedNetworkFilterConfigFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedNetworkFilterConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Server::Configuration::NamedListenerFilterConfigFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedListenerFilterConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedQuicListenerFilterConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::ActionFactory<Envoy::Server::Configuration::ServerFactoryContext>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::DataInputFactory<Envoy::Network::MatchingData> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::DataInputFactory<Envoy::Network::MatchingData>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::CustomMatcherFactory<Envoy::Network::MatchingData>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Compression::Compressor::NamedCompressorLibraryConfigFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Compression::Compressor::NamedCompressorLibraryConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Http::InjectedCredentials::Common::NamedCredentialInjectorConfigFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Http::InjectedCredentials::Common::NamedCredentialInjectorConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Compression::Decompressor::NamedDecompressorLibraryConfigFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Compression::Decompressor::NamedDecompressorLibraryConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Http::SessionStateFactoryConfig>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Http::SessionStateFactoryConfig&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Formatter::CommandParserFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Formatter::CommandParserFactoryBase<Envoy::Extensions::NetworkFilters::GenericProxy::FormatterContext>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::ActionFactory<Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::DataInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::DataInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::CustomMatcherFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Server::Configuration::NamedUdpSessionFilterConfigFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::ActionFactory<Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::DataInputFactory<Envoy::Network::UdpMatchingData> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::DataInputFactory<Envoy::Network::UdpMatchingData>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::CustomMatcherFactory<Envoy::Network::UdpMatchingData>&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Tracers::OpenTelemetry::EnvironmentResourceDetectorFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Tracers::OpenTelemetry::EnvironmentResourceDetectorFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Tracers::OpenTelemetry::DynatraceResourceDetectorFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Tracers::OpenTelemetry::DynatraceResourceDetectorFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Tracers::OpenTelemetry::StaticConfigResourceDetectorFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Tracers::OpenTelemetry::StaticConfigResourceDetectorFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Tracers::OpenTelemetry::DynatraceSamplerFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Tracers::OpenTelemetry::DynatraceSamplerFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Common::Tap::TapSinkFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Common::Tap::TapSinkFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Http::OriginalIPDetection::CustomHeader::CustomHeaderIPDetectionFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Http::OriginalIPDetection::CustomHeader::CustomHeaderIPDetectionFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Http::CustomResponse::ModifyRequestHeadersActionFactory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Http::CustomResponse::ModifyRequestHeadersActionFactory&) Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::ActionFactory<Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>&) std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext> >(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::ActionFactory<Envoy::Extensions::Filters::Common::RBAC::ActionContext>&) Line | Count | Source | 371 | 3 | Factory& factory) { | 372 | 3 | ProtobufTypes::MessagePtr config = factory.createEmptyConfigProto(); | 373 | | | 374 | | // Fail in an obvious way if a plugin does not return a proto. | 375 | 3 | RELEASE_ASSERT(config != nullptr, ""); | 376 | | | 377 | | // Check that the config type is not google.protobuf.Empty | 378 | 3 | RELEASE_ASSERT(config->GetTypeName() != "google.protobuf.Empty", ""); | 379 | | | 380 | 3 | translateOpaqueConfig(typed_config, validation_visitor, *config); | 381 | 3 | return config; | 382 | 3 | } |
Unexecuted instantiation: std::__1::unique_ptr<google::protobuf::Message, std::__1::default_delete<google::protobuf::Message> > Envoy::Config::Utility::translateAnyToFactoryConfig<Envoy::Extensions::Http::EarlyHeaderMutation::HeaderMutation::Factory>(google::protobuf::Any const&, Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Extensions::Http::EarlyHeaderMutation::HeaderMutation::Factory&) |
383 | | |
384 | | /** |
385 | | * Truncates the message to a length less than default GRPC trailers size limit (by default 8KiB). |
386 | | */ |
387 | | static std::string truncateGrpcStatusMessage(absl::string_view error_message); |
388 | | |
389 | | /** |
390 | | * Obtain gRPC async client factory from a envoy::config::core::v3::ApiConfigSource. |
391 | | * @param async_client_manager gRPC async client manager. |
392 | | * @param api_config_source envoy::config::core::v3::ApiConfigSource. Must have config type GRPC. |
393 | | * @param skip_cluster_check whether to skip cluster validation. |
394 | | * @param grpc_service_idx index of the grpc service in the api_config_source. If there's no entry |
395 | | * in the given index, a nullptr factory will be returned. |
396 | | * @return Grpc::AsyncClientFactoryPtr gRPC async client factory, or nullptr if there's no |
397 | | * grpc_service in the given index. |
398 | | */ |
399 | | static absl::StatusOr<Grpc::AsyncClientFactoryPtr> |
400 | | factoryForGrpcApiConfigSource(Grpc::AsyncClientManager& async_client_manager, |
401 | | const envoy::config::core::v3::ApiConfigSource& api_config_source, |
402 | | Stats::Scope& scope, bool skip_cluster_check, int grpc_service_idx); |
403 | | |
404 | | /** |
405 | | * Translate opaque config from google.protobuf.Any to defined proto message. |
406 | | * @param typed_config opaque config packed in google.protobuf.Any |
407 | | * @param validation_visitor message validation visitor instance. |
408 | | * @param out_proto the proto message instantiated by extensions |
409 | | */ |
410 | | static void translateOpaqueConfig(const ProtobufWkt::Any& typed_config, |
411 | | ProtobufMessage::ValidationVisitor& validation_visitor, |
412 | | Protobuf::Message& out_proto); |
413 | | |
414 | | /** |
415 | | * Verify that any filter designed to be terminal is configured to be terminal, and vice versa. |
416 | | * @param name the name of the filter. |
417 | | * @param filter_type the type of filter. |
418 | | * @param filter_chain_type the type of filter chain. |
419 | | * @param is_terminal_filter true if the filter is designed to be terminal. |
420 | | * @param last_filter_in_current_config true if the filter is last in the configuration. |
421 | | * @return a status indicating if there is a mismatch between design and configuration. |
422 | | */ |
423 | | static absl::Status validateTerminalFilters(const std::string& name, |
424 | | const std::string& filter_type, |
425 | | const std::string& filter_chain_type, |
426 | | bool is_terminal_filter, |
427 | 6.89k | bool last_filter_in_current_config) { |
428 | 6.89k | if (is_terminal_filter && !last_filter_in_current_config) { |
429 | 0 | return absl::InvalidArgumentError( |
430 | 0 | fmt::format("Error: terminal filter named {} of type {} must be the " |
431 | 0 | "last filter in a {} filter chain.", |
432 | 0 | name, filter_type, filter_chain_type)); |
433 | 6.89k | } else if (!is_terminal_filter && last_filter_in_current_config) { |
434 | 0 | return absl::InvalidArgumentError(fmt::format( |
435 | 0 | "Error: non-terminal filter named {} of type {} is the last filter in a {} filter chain.", |
436 | 0 | name, filter_type, filter_chain_type)); |
437 | 0 | } |
438 | 6.89k | return absl::OkStatus(); |
439 | 6.89k | } |
440 | | |
441 | | /** |
442 | | * Prepares the DNS failure refresh backoff strategy given the cluster configuration. |
443 | | * @param config the config that contains dns refresh information. |
444 | | * @param dns_refresh_rate_ms the default DNS refresh rate. |
445 | | * @param random the random generator. |
446 | | * @return BackOffStrategyPtr for scheduling refreshes. |
447 | | */ |
448 | | template <typename T> |
449 | | static BackOffStrategyPtr prepareDnsRefreshStrategy(const T& config, uint64_t dns_refresh_rate_ms, |
450 | 0 | Random::RandomGenerator& random) { |
451 | 0 | if (config.has_dns_failure_refresh_rate()) { |
452 | 0 | uint64_t base_interval_ms = |
453 | 0 | PROTOBUF_GET_MS_REQUIRED(config.dns_failure_refresh_rate(), base_interval); |
454 | 0 | uint64_t max_interval_ms = PROTOBUF_GET_MS_OR_DEFAULT(config.dns_failure_refresh_rate(), |
455 | 0 | max_interval, base_interval_ms * 10); |
456 | 0 | if (max_interval_ms < base_interval_ms) { |
457 | 0 | ExceptionUtil::throwEnvoyException( |
458 | 0 | "dns_failure_refresh_rate must have max_interval greater than " |
459 | 0 | "or equal to the base_interval"); |
460 | 0 | } |
461 | 0 | return std::make_unique<JitteredExponentialBackOffStrategy>(base_interval_ms, max_interval_ms, |
462 | 0 | random); |
463 | 0 | } |
464 | 0 | return std::make_unique<FixedBackOffStrategy>(dns_refresh_rate_ms); |
465 | 0 | } Unexecuted instantiation: std::__1::unique_ptr<Envoy::BackOffStrategy, std::__1::default_delete<Envoy::BackOffStrategy> > Envoy::Config::Utility::prepareDnsRefreshStrategy<envoy::config::cluster::v3::Cluster>(envoy::config::cluster::v3::Cluster const&, unsigned long, Envoy::Random::RandomGenerator&) Unexecuted instantiation: std::__1::unique_ptr<Envoy::BackOffStrategy, std::__1::default_delete<Envoy::BackOffStrategy> > Envoy::Config::Utility::prepareDnsRefreshStrategy<envoy::extensions::common::dynamic_forward_proxy::v3::DnsCacheConfig>(envoy::extensions::common::dynamic_forward_proxy::v3::DnsCacheConfig const&, unsigned long, Envoy::Random::RandomGenerator&) |
466 | | |
467 | | /** |
468 | | * Returns Jittered Exponential BackOff Strategy from BackoffStrategy config if present or |
469 | | * provided default timer values |
470 | | * @param api_config_source config |
471 | | * @param random random generator |
472 | | * @param default_base_interval_ms Default base interval, must be > 0 |
473 | | * @param default_max_interval_ms (optional) Default maximum interval |
474 | | * @return JitteredExponentialBackOffStrategyPtr if 1. Backoff Strategy is |
475 | | * found in the config or 2. default base interval and default maximum interval is specified or 3. |
476 | | * max interval is set to 10*default base interval |
477 | | */ |
478 | | static absl::StatusOr<JitteredExponentialBackOffStrategyPtr> |
479 | | prepareJitteredExponentialBackOffStrategy( |
480 | | const envoy::config::core::v3::ApiConfigSource& api_config_source, |
481 | | Random::RandomGenerator& random, const uint32_t default_base_interval_ms, |
482 | 1.36k | absl::optional<const uint32_t> default_max_interval_ms) { |
483 | 1.36k | auto& grpc_services = api_config_source.grpc_services(); |
484 | 1.36k | if (!grpc_services.empty() && grpc_services[0].has_envoy_grpc()) { |
485 | 169 | return prepareJitteredExponentialBackOffStrategy( |
486 | 169 | grpc_services[0].envoy_grpc(), random, default_base_interval_ms, default_max_interval_ms); |
487 | 169 | } |
488 | 1.19k | return buildJitteredExponentialBackOffStrategy(absl::nullopt, random, default_base_interval_ms, |
489 | 1.19k | default_max_interval_ms); |
490 | 1.36k | } |
491 | | |
492 | | /** |
493 | | * Prepares Jittered Exponential BackOff Strategy from config containing the Retry Policy |
494 | | * @param config config containing RetryPolicy <envoy_v3_api_msg_config.core.v3.RetryPolicy> |
495 | | * @param random random generator |
496 | | * @param default_base_interval_ms Default base interval, must be > 0 |
497 | | * @param default_max_interval_ms (optional) Default maximum interval |
498 | | * @return JitteredExponentialBackOffStrategyPtr if 1. RetryPolicy containing backoff values is |
499 | | * found in config or 2. default base interval and default maximum interval is specified or 3. |
500 | | * default max interval is set to 10*default base interval |
501 | | */ |
502 | | template <typename T> |
503 | | static absl::StatusOr<JitteredExponentialBackOffStrategyPtr> |
504 | | prepareJitteredExponentialBackOffStrategy( |
505 | | const T& config, Random::RandomGenerator& random, const uint32_t default_base_interval_ms, |
506 | 169 | absl::optional<const uint32_t> default_max_interval_ms) { |
507 | | // If RetryPolicy containing backoff values is found in config |
508 | 169 | if (config.has_retry_policy() && config.retry_policy().has_retry_back_off()) { |
509 | 16 | return buildJitteredExponentialBackOffStrategy(config.retry_policy().retry_back_off(), random, |
510 | 16 | default_base_interval_ms, |
511 | 16 | default_max_interval_ms); |
512 | 16 | } |
513 | 153 | return buildJitteredExponentialBackOffStrategy(absl::nullopt, random, default_base_interval_ms, |
514 | 153 | default_max_interval_ms); |
515 | 169 | } absl::lts_20230802::StatusOr<std::__1::unique_ptr<Envoy::JitteredExponentialBackOffStrategy, std::__1::default_delete<Envoy::JitteredExponentialBackOffStrategy> > > Envoy::Config::Utility::prepareJitteredExponentialBackOffStrategy<envoy::config::core::v3::GrpcService_EnvoyGrpc>(envoy::config::core::v3::GrpcService_EnvoyGrpc const&, Envoy::Random::RandomGenerator&, unsigned int, std::__1::optional<unsigned int const>) Line | Count | Source | 506 | 169 | absl::optional<const uint32_t> default_max_interval_ms) { | 507 | | // If RetryPolicy containing backoff values is found in config | 508 | 169 | if (config.has_retry_policy() && config.retry_policy().has_retry_back_off()) { | 509 | 16 | return buildJitteredExponentialBackOffStrategy(config.retry_policy().retry_back_off(), random, | 510 | 16 | default_base_interval_ms, | 511 | 16 | default_max_interval_ms); | 512 | 16 | } | 513 | 153 | return buildJitteredExponentialBackOffStrategy(absl::nullopt, random, default_base_interval_ms, | 514 | 153 | default_max_interval_ms); | 515 | 169 | } |
Unexecuted instantiation: absl::lts_20230802::StatusOr<std::__1::unique_ptr<Envoy::JitteredExponentialBackOffStrategy, std::__1::default_delete<Envoy::JitteredExponentialBackOffStrategy> > > Envoy::Config::Utility::prepareJitteredExponentialBackOffStrategy<envoy::config::core::v3::RemoteDataSource>(envoy::config::core::v3::RemoteDataSource const&, Envoy::Random::RandomGenerator&, unsigned int, std::__1::optional<unsigned int const>) |
516 | | |
517 | | private: |
518 | | /** |
519 | | * Returns Jittered Exponential BackOff Strategy from BackoffStrategy config or default |
520 | | * values |
521 | | * @param config (optional) BackoffStrategy config |
522 | | * @param random random generator |
523 | | * @param default_base_interval_ms Default base interval, must be > 0 |
524 | | * @param default_max_interval_ms (optional) Default maximum interval |
525 | | * @return JitteredExponentialBackOffStrategyPtr if 1. Backoff Strategy is |
526 | | * specified or 2. default base interval and default maximum interval is specified or 3. |
527 | | * max interval is set to 10*default base interval |
528 | | */ |
529 | | static absl::StatusOr<JitteredExponentialBackOffStrategyPtr> |
530 | | buildJitteredExponentialBackOffStrategy( |
531 | | absl::optional<const envoy::config::core::v3::BackoffStrategy> backoff, |
532 | | Random::RandomGenerator& random, const uint32_t default_base_interval_ms, |
533 | | absl::optional<const uint32_t> default_max_interval_ms); |
534 | | }; |
535 | | } // namespace Config |
536 | | } // namespace Envoy |