From f9fe1c0b2aba11db28f5011887c347039edf3294 Mon Sep 17 00:00:00 2001 From: markdroth <18664614+markdroth@users.noreply.github.com> Date: Wed, 1 Oct 2025 18:19:01 +0000 Subject: [PATCH] Automated change: Fix sanity tests --- src/core/client_channel/client_channel.cc | 8 +-- .../client_channel/client_channel_filter.cc | 7 +-- src/core/client_channel/config_selector.h | 2 +- .../fault_injection/fault_injection_filter.cc | 32 +++++----- .../fault_injection/fault_injection_filter.h | 2 +- .../gcp_authentication_filter.cc | 15 +++-- .../stateful_session_filter.cc | 21 +++---- .../stateful_session_filter.h | 2 +- src/core/filter/filter_args.h | 4 +- src/core/filter/filter_chain.h | 2 +- src/core/resolver/xds/xds_resolver.cc | 63 +++++++++---------- src/core/server/xds_server_config_fetcher.cc | 3 +- src/core/xds/grpc/xds_http_fault_filter.cc | 19 +++--- src/core/xds/grpc/xds_http_fault_filter.h | 31 +++++---- src/core/xds/grpc/xds_http_filter.h | 36 +++++------ src/core/xds/grpc/xds_http_filter_registry.cc | 20 +++--- src/core/xds/grpc/xds_http_filter_registry.h | 31 +++++---- .../xds/grpc/xds_http_gcp_authn_filter.cc | 38 +++++------ src/core/xds/grpc/xds_http_gcp_authn_filter.h | 33 +++++----- src/core/xds/grpc/xds_http_rbac_filter.cc | 38 +++++------ src/core/xds/grpc/xds_http_rbac_filter.h | 31 +++++---- .../grpc/xds_http_stateful_session_filter.cc | 36 +++++------ .../grpc/xds_http_stateful_session_filter.h | 31 +++++---- src/core/xds/grpc/xds_listener_parser.cc | 2 +- src/core/xds/grpc/xds_route_config.cc | 7 +-- src/core/xds/grpc/xds_route_config_parser.cc | 5 +- 26 files changed, 240 insertions(+), 279 deletions(-) diff --git a/src/core/client_channel/client_channel.cc b/src/core/client_channel/client_channel.cc index 4963ab86770fe..9861e0fe75fd4 100644 --- a/src/core/client_channel/client_channel.cc +++ b/src/core/client_channel/client_channel.cc @@ -980,7 +980,7 @@ void ClientChannel::StartCall(UnstartedCallHandler unstarted_handler) { // resolver. auto destination = DownCast(filter_chain->get()) - ->destination(); + ->destination(); destination->StartCall(std::move(unstarted_handler)); return absl::OkStatus(); }); @@ -1445,9 +1445,9 @@ ClientChannel::ApplyServiceConfigToCall( GetContext()->New( GetContext()); // Use the ConfigSelector to determine the config for the call. - auto filter_chain = config_selector.GetCallConfig( - {&client_initial_metadata, GetContext(), - service_config_call_data}); + auto filter_chain = config_selector.GetCallConfig({&client_initial_metadata, + GetContext(), + service_config_call_data}); if (!filter_chain.ok()) { return MaybeRewriteIllegalStatusCode(filter_chain.status(), "ConfigSelector"); diff --git a/src/core/client_channel/client_channel_filter.cc b/src/core/client_channel/client_channel_filter.cc index 8f68a9a1f1992..c4d983130c3cd 100644 --- a/src/core/client_channel/client_channel_filter.cc +++ b/src/core/client_channel/client_channel_filter.cc @@ -1858,10 +1858,9 @@ grpc_error_handle ClientChannelFilter::CallData::ApplyServiceConfigToCallLocked( auto* service_config_call_data = arena()->New(arena()); // Use the ConfigSelector to determine the config for the call. - auto filter_chain = - (*config_selector) - ->GetCallConfig( - {send_initial_metadata(), arena(), service_config_call_data}); + auto filter_chain = (*config_selector) + ->GetCallConfig({send_initial_metadata(), arena(), + service_config_call_data}); if (!filter_chain.ok()) { return absl_status_to_grpc_error( MaybeRewriteIllegalStatusCode(filter_chain.status(), "ConfigSelector")); diff --git a/src/core/client_channel/config_selector.h b/src/core/client_channel/config_selector.h index d1fb3eba5fa6c..5fb4c0fb6a233 100644 --- a/src/core/client_channel/config_selector.h +++ b/src/core/client_channel/config_selector.h @@ -67,7 +67,7 @@ class ConfigSelector : public RefCounted { const Blackboard* old_blackboard, Blackboard* new_blackboard) = 0; -// FIXME: remove + // FIXME: remove // The channel will call this when the resolver returns a new ConfigSelector // to determine what set of dynamic filters will be configured. virtual void AddFilters(InterceptionChainBuilder& /*builder*/, diff --git a/src/core/ext/filters/fault_injection/fault_injection_filter.cc b/src/core/ext/filters/fault_injection/fault_injection_filter.cc index de4990cffe4a0..e26a7e3a5cf60 100644 --- a/src/core/ext/filters/fault_injection/fault_injection_filter.cc +++ b/src/core/ext/filters/fault_injection/fault_injection_filter.cc @@ -52,12 +52,10 @@ namespace grpc_core { bool FaultInjectionFilter::Config::Equals(const FilterConfig& other) const { const auto& o = DownCast(other); - return abort_code == o.abort_code && - abort_message == o.abort_message && + return abort_code == o.abort_code && abort_message == o.abort_message && abort_code_header == o.abort_code_header && abort_percentage_header == o.abort_percentage_header && - delay == o.delay && - delay_header == o.delay_header && + delay == o.delay && delay_header == o.delay_header && delay_percentage_header == o.delay_percentage_header && delay_percentage_numerator == o.delay_percentage_numerator && delay_percentage_denominator == o.delay_percentage_denominator && @@ -75,13 +73,13 @@ std::string FaultInjectionFilter::Config::ToString() const { absl::StrCat("abort_code_header=\"", abort_code_header, "\"")); } if (!abort_percentage_header.empty()) { - parts.push_back(absl::StrCat( - "abort_percentage_header=\"", abort_percentage_header, "\"")); + parts.push_back(absl::StrCat("abort_percentage_header=\"", + abort_percentage_header, "\"")); } - parts.push_back(absl::StrCat( - "abort_percentage_numerator=", abort_percentage_numerator)); - parts.push_back(absl::StrCat( - "abort_percentage_denominator=", abort_percentage_denominator)); + parts.push_back(absl::StrCat("abort_percentage_numerator=", + abort_percentage_numerator)); + parts.push_back(absl::StrCat("abort_percentage_denominator=", + abort_percentage_denominator)); } if (delay != Duration::Zero()) { parts.push_back(absl::StrCat("delay=", delay.ToString())); @@ -89,8 +87,8 @@ std::string FaultInjectionFilter::Config::ToString() const { parts.push_back(absl::StrCat("delay_header=\"", delay_header, "\"")); } if (!delay_percentage_header.empty()) { - parts.push_back(absl::StrCat( - "delay_percentage_header=\"", delay_percentage_header, "\"")); + parts.push_back(absl::StrCat("delay_percentage_header=\"", + delay_percentage_header, "\"")); } } parts.push_back(absl::StrCat("max_faults=", max_faults)); @@ -176,9 +174,9 @@ absl::StatusOr> FaultInjectionFilter::Create(const ChannelArgs&, ChannelFilter::Args filter_args) { if (filter_args.config()->type() != Config::Type()) { - return absl::InternalError(absl::StrCat( - "wrong config type passed to fault injection filter: ", - filter_args.config()->type().name())); + return absl::InternalError( + absl::StrCat("wrong config type passed to fault injection filter: ", + filter_args.config()->type().name())); } return std::make_unique(filter_args); } @@ -311,8 +309,8 @@ FaultInjectionFilter::MakeInjectionDecision( !config_->delay_percentage_header.empty()) { std::string buffer; if (!config_->abort_code_header.empty() && abort_code == GRPC_STATUS_OK) { - auto value = initial_metadata.GetStringValue(config_->abort_code_header, - &buffer); + auto value = + initial_metadata.GetStringValue(config_->abort_code_header, &buffer); if (value.has_value()) { grpc_status_code_from_int( AsInt(*value).value_or(GRPC_STATUS_UNKNOWN), &abort_code); diff --git a/src/core/ext/filters/fault_injection/fault_injection_filter.h b/src/core/ext/filters/fault_injection/fault_injection_filter.h index 3a5b3069f0103..0f101122a2e37 100644 --- a/src/core/ext/filters/fault_injection/fault_injection_filter.h +++ b/src/core/ext/filters/fault_injection/fault_injection_filter.h @@ -96,7 +96,7 @@ class FaultInjectionFilter InjectionDecision MakeInjectionDecision( const ClientMetadata& initial_metadata); -// FIXME: remove + // FIXME: remove // The relative index of instances of the same filter. size_t index_; const size_t service_config_parser_index_; diff --git a/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc b/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc index 0909833b5a924..510515ddca417 100644 --- a/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +++ b/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc @@ -46,8 +46,8 @@ bool GcpAuthenticationFilter::Config::Equals(const FilterConfig& other) const { } std::string GcpAuthenticationFilter::Config::ToString() const { - return absl::StrCat("{instance_name=\"", instance_name, "\", cache_size=", - cache_size, "}"); + return absl::StrCat("{instance_name=\"", instance_name, + "\", cache_size=", cache_size, "}"); } // @@ -184,9 +184,9 @@ GcpAuthenticationFilter::Create(const ChannelArgs& args, } #endif if (filter_args.config()->type() != Config::Type()) { - return absl::InternalError(absl::StrCat( - "wrong config type passed to GCP authn filter: ", - filter_args.config()->type().name())); + return absl::InternalError( + absl::StrCat("wrong config type passed to GCP authn filter: ", + filter_args.config()->type().name())); } auto config = filter_args.config().TakeAsSubclass(); // Get cache from blackboard. This must have been populated @@ -198,9 +198,8 @@ GcpAuthenticationFilter::Create(const ChannelArgs& args, "gcp_auth: cache object not found in filter state"); } // Instantiate filter. - return std::unique_ptr( - new GcpAuthenticationFilter(std::move(config), std::move(xds_config), - std::move(cache))); + return std::unique_ptr(new GcpAuthenticationFilter( + std::move(config), std::move(xds_config), std::move(cache))); } GcpAuthenticationFilter::GcpAuthenticationFilter( diff --git a/src/core/ext/filters/stateful_session/stateful_session_filter.cc b/src/core/ext/filters/stateful_session/stateful_session_filter.cc index 277828c5c1f43..d82c040eefca9 100644 --- a/src/core/ext/filters/stateful_session/stateful_session_filter.cc +++ b/src/core/ext/filters/stateful_session/stateful_session_filter.cc @@ -61,7 +61,7 @@ UniqueTypeName XdsOverrideHostAttribute::TypeName() { std::string StatefulSessionFilter::CookieConfig::ToString() const { std::vector parts = { - absl::StrCat("name=\"", name, "\""), + absl::StrCat("name=\"", name, "\""), }; if (ttl != Duration::Zero()) { parts.push_back(absl::StrCat("ttl=", ttl.ToString())); @@ -117,9 +117,8 @@ absl::string_view AllocateStringOnArena( // Adds the set-cookie header to the server initial metadata if needed. void MaybeUpdateServerInitialMetadata( - const StatefulSessionFilter::CookieConfig& config, - bool cluster_changed, absl::string_view actual_cluster, - absl::string_view cookie_address_list, + const StatefulSessionFilter::CookieConfig& config, bool cluster_changed, + absl::string_view actual_cluster, absl::string_view cookie_address_list, XdsOverrideHostAttribute* override_host_attribute, ServerMetadata& server_initial_metadata) { // If cookie doesn't need to change, do nothing. @@ -289,10 +288,9 @@ void StatefulSessionFilter::Call::OnServerInitialMetadata( GRPC_LATENT_SEE_SCOPE("StatefulSessionFilter::Call::OnServerInitialMetadata"); if (!perform_filtering_) return; // Add cookie to server initial metadata if needed. - MaybeUpdateServerInitialMetadata(filter->config_->cookie_config, - cluster_changed_, cluster_name_, - cookie_address_list_, - override_host_attribute_, md); + MaybeUpdateServerInitialMetadata( + filter->config_->cookie_config, cluster_changed_, cluster_name_, + cookie_address_list_, override_host_attribute_, md); } void StatefulSessionFilter::Call::OnServerTrailingMetadata( @@ -304,10 +302,9 @@ void StatefulSessionFilter::Call::OnServerTrailingMetadata( // cookie to the trailing metadata instead of the // initial metadata. if (md.get(GrpcTrailersOnly()).value_or(false)) { - MaybeUpdateServerInitialMetadata(filter->config_->cookie_config, - cluster_changed_, cluster_name_, - cookie_address_list_, - override_host_attribute_, md); + MaybeUpdateServerInitialMetadata( + filter->config_->cookie_config, cluster_changed_, cluster_name_, + cookie_address_list_, override_host_attribute_, md); } } diff --git a/src/core/ext/filters/stateful_session/stateful_session_filter.h b/src/core/ext/filters/stateful_session/stateful_session_filter.h index bbd8b801f69d9..efaea1a2d15a9 100644 --- a/src/core/ext/filters/stateful_session/stateful_session_filter.h +++ b/src/core/ext/filters/stateful_session/stateful_session_filter.h @@ -144,7 +144,7 @@ class StatefulSessionFilter private: const RefCountedPtr config_; -// FIXME: remove + // FIXME: remove // The relative index of instances of the same filter. const size_t index_; // Index of the service config parser. diff --git a/src/core/filter/filter_args.h b/src/core/filter/filter_args.h index 2765e47356b23..59810dccbc33d 100644 --- a/src/core/filter/filter_args.h +++ b/src/core/filter/filter_args.h @@ -36,9 +36,7 @@ class FilterConfig : public RefCounted { return Equals(other); } - bool operator!=(const FilterConfig& other) const { - return !(*this == other); - } + bool operator!=(const FilterConfig& other) const { return !(*this == other); } virtual bool Equals(const FilterConfig& other) const = 0; diff --git a/src/core/filter/filter_chain.h b/src/core/filter/filter_chain.h index dfe66b2f99df9..8c7cd302c3369 100644 --- a/src/core/filter/filter_chain.h +++ b/src/core/filter/filter_chain.h @@ -58,7 +58,7 @@ class FilterChainBuilderV1 { // favor of just directly using UnstartedCallDestination. class FilterChain : public RefCounted { public: - virtual ~FilterChain() = default; + ~FilterChain() override = default; }; // Abstract filter chain builder interface. diff --git a/src/core/resolver/xds/xds_resolver.cc b/src/core/resolver/xds/xds_resolver.cc index dfb63e7d75d5a..751ccdc9b538e 100644 --- a/src/core/resolver/xds/xds_resolver.cc +++ b/src/core/resolver/xds/xds_resolver.cc @@ -217,11 +217,11 @@ class XdsResolver final : public Resolver { RouteEntry* GetRouteForRequest(absl::string_view path, grpc_metadata_batch* initial_metadata); - void BuildFilterChains( - const XdsConfig& xds_config, - const std::vector& filters, - FilterChainBuilder& builder, const Blackboard* old_blackboard, - Blackboard* new_blackboard); + void BuildFilterChains(const XdsConfig& xds_config, + const std::vector& filters, + FilterChainBuilder& builder, + const Blackboard* old_blackboard, + Blackboard* new_blackboard); private: class RouteListIterator; @@ -436,7 +436,7 @@ RefCountedPtr GetOverrideConfig( } void XdsResolver::RouteConfigData::BuildFilterChains( - const XdsConfig& xds_config, + const XdsConfig& xds_config, const std::vector& filters, FilterChainBuilder& builder, const Blackboard* old_blackboard, Blackboard* new_blackboard) { @@ -454,15 +454,15 @@ void XdsResolver::RouteConfigData::BuildFilterChains( auto* filter = filters[i]; const auto& filter_config = hcm.http_filters[i]; if (filter_config.filter_config == nullptr) continue; - auto vhost_override_config = GetOverrideConfig( - xds_config.virtual_host->typed_per_filter_config, - filter_config.name); - auto config = filter->MergeConfigs( - filter_config.filter_config, std::move(vhost_override_config), - nullptr, nullptr); + auto vhost_override_config = + GetOverrideConfig(xds_config.virtual_host->typed_per_filter_config, + filter_config.name); + auto config = filter->MergeConfigs(filter_config.filter_config, + std::move(vhost_override_config), + nullptr, nullptr); GRPC_TRACE_LOG(xds_resolver, INFO) - << " Adding filter=" << filter_config.name << " config=" - << config->ToString(); + << " Adding filter=" << filter_config.name + << " config=" << config->ToString(); filter->UpdateBlackboard({}, config.get(), old_blackboard, new_blackboard); filter->AddFilter(builder, std::move(config)); @@ -485,9 +485,8 @@ void XdsResolver::RouteConfigData::BuildFilterChains( nullptr; auto get_route_filter_chain = [&]() { if (route_filter_chain.ok() && *route_filter_chain == nullptr) { - GRPC_TRACE_LOG(xds_resolver, INFO) - << "Building filter chain for route:" - << route_entry.route.ToString(); + GRPC_TRACE_LOG(xds_resolver, INFO) << "Building filter chain for route:" + << route_entry.route.ToString(); if (route_entry.route.typed_per_filter_config.empty()) { // No per-route overrides, so use the default filter chain. route_filter_chain = get_default_filter_chain(); @@ -505,26 +504,24 @@ void XdsResolver::RouteConfigData::BuildFilterChains( filter_config.filter_config, std::move(vhost_override_config), std::move(route_override_config), nullptr); GRPC_TRACE_LOG(xds_resolver, INFO) - << " Adding filter=" << filter_config.name << " config=" - << config->ToString(); + << " Adding filter=" << filter_config.name + << " config=" << config->ToString(); filter->UpdateBlackboard({}, config.get(), old_blackboard, new_blackboard); filter->AddFilter(builder, std::move(config)); } route_filter_chain = builder.Build(); - GRPC_TRACE_LOG(xds_resolver, INFO) - << "Filter chain creation status: " - << route_filter_chain.status(); + GRPC_TRACE_LOG(xds_resolver, INFO) << "Filter chain creation status: " + << route_filter_chain.status(); } } return route_filter_chain; }; // If the route uses WeightedClusters, construct a filter chain for // each ClusterWeight entry. - if (const auto* weighted_clusters = - std::get_if>( - &route_action->action); + if (const auto* weighted_clusters = std::get_if>( + &route_action->action); weighted_clusters != nullptr) { GRPC_CHECK_EQ(weighted_clusters->size(), route_entry.weighted_cluster_state.size()); @@ -549,16 +546,16 @@ void XdsResolver::RouteConfigData::BuildFilterChains( filter_config.name); auto route_override_config = GetOverrideConfig( route_entry.route.typed_per_filter_config, filter_config.name); - auto cluster_weight_override_config = GetOverrideConfig( - cluster_weight_entry.typed_per_filter_config, - filter_config.name); + auto cluster_weight_override_config = + GetOverrideConfig(cluster_weight_entry.typed_per_filter_config, + filter_config.name); auto config = filter->MergeConfigs( filter_config.filter_config, std::move(vhost_override_config), std::move(route_override_config), std::move(cluster_weight_override_config)); GRPC_TRACE_LOG(xds_resolver, INFO) - << " Adding filter=" << filter_config.name << " config=" - << config->ToString(); + << " Adding filter=" << filter_config.name + << " config=" << config->ToString(); filter->UpdateBlackboard({}, config.get(), old_blackboard, new_blackboard); filter->AddFilter(builder, std::move(config)); @@ -960,8 +957,8 @@ XdsResolver::XdsConfigSelector::GetFilters(const Blackboard* old_blackboard, void XdsResolver::XdsConfigSelector::BuildFilterChains( FilterChainBuilder& builder, const Blackboard* old_blackboard, Blackboard* new_blackboard) { - route_config_data_->BuildFilterChains( - *xds_config_, filters_, builder, old_blackboard, new_blackboard); + route_config_data_->BuildFilterChains(*xds_config_, filters_, builder, + old_blackboard, new_blackboard); } // diff --git a/src/core/server/xds_server_config_fetcher.cc b/src/core/server/xds_server_config_fetcher.cc index 5dff791e433c2..3ee8b75c84084 100644 --- a/src/core/server/xds_server_config_fetcher.cc +++ b/src/core/server/xds_server_config_fetcher.cc @@ -1125,8 +1125,7 @@ void XdsServerConfigFetcher::ListenerWatcher::FilterChainMatchManager:: nullptr); // Enforced in config validation. filter_impl->UpdateBlackboard(http_filter.config, nullptr, // FIXME - old_blackboard, - new_blackboard); + old_blackboard, new_blackboard); } }); } diff --git a/src/core/xds/grpc/xds_http_fault_filter.cc b/src/core/xds/grpc/xds_http_fault_filter.cc index 131b7fa821947..eeda3a664b109 100644 --- a/src/core/xds/grpc/xds_http_fault_filter.cc +++ b/src/core/xds/grpc/xds_http_fault_filter.cc @@ -220,7 +220,7 @@ void XdsHttpFaultFilter::AddFilter(InterceptionChainBuilder& builder) const { void XdsHttpFaultFilter::AddFilter( FilterChainBuilder& builder, - RefCountedPtr config) const { + RefCountedPtr config) const { builder.AddFilter(std::move(config)); } @@ -250,8 +250,7 @@ XdsHttpFaultFilter::GenerateServiceConfig( return ServiceConfigJsonEntry{"", ""}; } -RefCountedPtr -XdsHttpFaultFilter::ParseTopLevelConfig( +RefCountedPtr XdsHttpFaultFilter::ParseTopLevelConfig( absl::string_view /*instance_name*/, const XdsResourceType::DecodeContext& context, XdsExtension extension, ValidationErrors* errors) const { @@ -349,8 +348,7 @@ XdsHttpFaultFilter::ParseTopLevelConfig( return config; } -RefCountedPtr -XdsHttpFaultFilter::ParseOverrideConfig( +RefCountedPtr XdsHttpFaultFilter::ParseOverrideConfig( absl::string_view instance_name, const XdsResourceType::DecodeContext& context, XdsExtension extension, ValidationErrors* errors) const { @@ -358,12 +356,11 @@ XdsHttpFaultFilter::ParseOverrideConfig( errors); } -RefCountedPtr XdsHttpFaultFilter::MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr virtual_host_override_config, - RefCountedPtr route_override_config, - RefCountedPtr - cluster_weight_override_config) const { +RefCountedPtr XdsHttpFaultFilter::MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr virtual_host_override_config, + RefCountedPtr route_override_config, + RefCountedPtr cluster_weight_override_config) const { // No merging, just return the most specific config that exists. if (cluster_weight_override_config != nullptr) { return cluster_weight_override_config; diff --git a/src/core/xds/grpc/xds_http_fault_filter.h b/src/core/xds/grpc/xds_http_fault_filter.h index 98731b70d4005..dac055fb8c381 100644 --- a/src/core/xds/grpc/xds_http_fault_filter.h +++ b/src/core/xds/grpc/xds_http_fault_filter.h @@ -55,22 +55,21 @@ class XdsHttpFaultFilter final : public XdsHttpFilterImpl { absl::StatusOr GenerateServiceConfig( const FilterConfig& hcm_filter_config) const override; void AddFilter(FilterChainBuilder& builder, - RefCountedPtr config) const override; - RefCountedPtr ParseTopLevelConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const override; - RefCountedPtr ParseOverrideConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const override; - RefCountedPtr MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr - virtual_host_override_config, - RefCountedPtr route_override_config, - RefCountedPtr - cluster_weight_override_config) const override; + RefCountedPtr config) const override; + RefCountedPtr ParseTopLevelConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const override; + RefCountedPtr ParseOverrideConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const override; + RefCountedPtr MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr virtual_host_override_config, + RefCountedPtr route_override_config, + RefCountedPtr cluster_weight_override_config) + const override; bool IsSupportedOnClients() const override { return true; } bool IsSupportedOnServers() const override { return false; } }; diff --git a/src/core/xds/grpc/xds_http_filter.h b/src/core/xds/grpc/xds_http_filter.h index c2b7e2b5f2f18..adab145b35ffc 100644 --- a/src/core/xds/grpc/xds_http_filter.h +++ b/src/core/xds/grpc/xds_http_filter.h @@ -82,7 +82,7 @@ class XdsHttpFilterImpl { // Loads the proto message into the upb symtab. virtual void PopulateSymtab(upb_DefPool* symtab) const = 0; -// FIXME: remove + // FIXME: remove // Generates a Config from the xDS filter config proto. // Used for the top-level config in the HCM HTTP filter list. virtual std::optional GenerateFilterConfig( @@ -90,7 +90,7 @@ class XdsHttpFilterImpl { const XdsResourceType::DecodeContext& context, XdsExtension extension, ValidationErrors* errors) const = 0; -// FIXME: remove + // FIXME: remove // Generates a Config from the xDS filter config proto. // Used for the typed_per_filter_config override in VirtualHost and Route. virtual std::optional GenerateFilterConfigOverride( @@ -98,20 +98,20 @@ class XdsHttpFilterImpl { const XdsResourceType::DecodeContext& context, XdsExtension extension, ValidationErrors* errors) const = 0; -// FIXME: remove + // FIXME: remove // C-core channel filter implementation. virtual void AddFilter(InterceptionChainBuilder& builder) const = 0; // TODO(roth): Remove this once the legacy filter stack goes away. virtual const grpc_channel_filter* channel_filter() const = 0; -// FIXME: remove + // FIXME: remove // Modifies channel args that may affect service config parsing (not // visible to the channel as a whole). virtual ChannelArgs ModifyChannelArgs(const ChannelArgs& args) const { return args; } -// FIXME: remove + // FIXME: remove // Function to convert the Configs into a JSON string to be added to the // per-method part of the service config. // The hcm_filter_config comes from the HttpConnectionManager config. @@ -122,7 +122,7 @@ class XdsHttpFilterImpl { const FilterConfig& hcm_filter_config, const FilterConfig* filter_config_override) const = 0; -// FIXME: remove + // FIXME: remove // Function to convert the Configs into a JSON string to be added to the // top level of the service config. // The hcm_filter_config comes from the HttpConnectionManager config. @@ -132,37 +132,35 @@ class XdsHttpFilterImpl { // Adds the filter to the builder. virtual void AddFilter(FilterChainBuilder& builder, - RefCountedPtr config) const = 0; + RefCountedPtr config) const = 0; // Parses the top-level filter config. - virtual RefCountedPtr ParseTopLevelConfig( + virtual RefCountedPtr ParseTopLevelConfig( absl::string_view instance_name, const XdsResourceType::DecodeContext& context, XdsExtension extension, ValidationErrors* errors) const = 0; // Parses an override config. - virtual RefCountedPtr ParseOverrideConfig( + virtual RefCountedPtr ParseOverrideConfig( absl::string_view instance_name, const XdsResourceType::DecodeContext& context, XdsExtension extension, ValidationErrors* errors) const = 0; // Returns a new filter config that takes into account any necessary // overrides. - virtual RefCountedPtr MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr - virtual_host_override_config, - RefCountedPtr route_override_config, - RefCountedPtr - cluster_weight_override_config) const = 0; + virtual RefCountedPtr MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr virtual_host_override_config, + RefCountedPtr route_override_config, + RefCountedPtr cluster_weight_override_config) + const = 0; // Adds state to new_blackboard if needed for the specified filter // config. Copies existing state from old_blackboard as appropriate. virtual void UpdateBlackboard( const FilterConfig& /*hcm_filter_config*/, // FIXME: remove - const grpc_core::FilterConfig* /*config*/, - const Blackboard* /*old_blackboard*/, - Blackboard* /*new_blackboard*/) const {} + const FilterConfig* /*config*/, const Blackboard* /*old_blackboard*/, + Blackboard* /*new_blackboard*/) const {} // Returns true if the filter is supported on clients; false otherwise virtual bool IsSupportedOnClients() const = 0; diff --git a/src/core/xds/grpc/xds_http_filter_registry.cc b/src/core/xds/grpc/xds_http_filter_registry.cc index eb3122be02264..7fd71f181b409 100644 --- a/src/core/xds/grpc/xds_http_filter_registry.cc +++ b/src/core/xds/grpc/xds_http_filter_registry.cc @@ -80,8 +80,7 @@ XdsHttpRouterFilter::GenerateFilterConfigOverride( return std::nullopt; } -RefCountedPtr -XdsHttpRouterFilter::ParseTopLevelConfig( +RefCountedPtr XdsHttpRouterFilter::ParseTopLevelConfig( absl::string_view instance_name, const XdsResourceType::DecodeContext& context, XdsExtension extension, ValidationErrors* errors) const { @@ -100,8 +99,7 @@ XdsHttpRouterFilter::ParseTopLevelConfig( return nullptr; } -RefCountedPtr -XdsHttpRouterFilter::ParseOverrideConfig( +RefCountedPtr XdsHttpRouterFilter::ParseOverrideConfig( absl::string_view instance_name, const XdsResourceType::DecodeContext& context, XdsExtension extension, ValidationErrors* errors) const { @@ -109,13 +107,13 @@ XdsHttpRouterFilter::ParseOverrideConfig( return nullptr; } -RefCountedPtr XdsHttpRouterFilter::MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr - /*virtual_host_override_config*/, - RefCountedPtr /*route_override_config*/, - RefCountedPtr - /*cluster_weight_override_config*/) const { +RefCountedPtr XdsHttpRouterFilter::MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr + /*virtual_host_override_config*/, + RefCountedPtr /*route_override_config*/, + RefCountedPtr + /*cluster_weight_override_config*/) const { return top_level_config; } diff --git a/src/core/xds/grpc/xds_http_filter_registry.h b/src/core/xds/grpc/xds_http_filter_registry.h index b7896b77c7574..78452f0b6f70f 100644 --- a/src/core/xds/grpc/xds_http_filter_registry.h +++ b/src/core/xds/grpc/xds_http_filter_registry.h @@ -65,22 +65,21 @@ class XdsHttpRouterFilter final : public XdsHttpFilterImpl { return absl::UnimplementedError("router filter should never be called"); } void AddFilter(FilterChainBuilder& /*builder*/, - RefCountedPtr /*config*/) const override {} - RefCountedPtr ParseTopLevelConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const override; - RefCountedPtr ParseOverrideConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const override; - RefCountedPtr MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr - virtual_host_override_config, - RefCountedPtr route_override_config, - RefCountedPtr - cluster_weight_override_config) const override; + RefCountedPtr /*config*/) const override {} + RefCountedPtr ParseTopLevelConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const override; + RefCountedPtr ParseOverrideConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const override; + RefCountedPtr MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr virtual_host_override_config, + RefCountedPtr route_override_config, + RefCountedPtr cluster_weight_override_config) + const override; bool IsSupportedOnClients() const override { return true; } bool IsSupportedOnServers() const override { return true; } bool IsTerminalFilter() const override { return true; } diff --git a/src/core/xds/grpc/xds_http_gcp_authn_filter.cc b/src/core/xds/grpc/xds_http_gcp_authn_filter.cc index 5f44152b0d900..a6fae57e1486d 100644 --- a/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +++ b/src/core/xds/grpc/xds_http_gcp_authn_filter.cc @@ -117,7 +117,7 @@ void XdsHttpGcpAuthnFilter::AddFilter(InterceptionChainBuilder& builder) const { void XdsHttpGcpAuthnFilter::AddFilter( FilterChainBuilder& builder, - RefCountedPtr config) const { + RefCountedPtr config) const { builder.AddFilter(std::move(config)); } @@ -144,11 +144,10 @@ XdsHttpGcpAuthnFilter::GenerateServiceConfig( JsonDump(hcm_filter_config.config)}; } -RefCountedPtr -XdsHttpGcpAuthnFilter::ParseTopLevelConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const { +RefCountedPtr XdsHttpGcpAuthnFilter::ParseTopLevelConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const { absl::string_view* serialized_filter_config = std::get_if(&extension.value); if (serialized_filter_config == nullptr) { @@ -182,30 +181,27 @@ XdsHttpGcpAuthnFilter::ParseTopLevelConfig( return config; } -RefCountedPtr -XdsHttpGcpAuthnFilter::ParseOverrideConfig( - absl::string_view /*instance_name*/, - const XdsResourceType::DecodeContext& /*context*/, - XdsExtension /*extension*/, ValidationErrors* errors) const { +RefCountedPtr XdsHttpGcpAuthnFilter::ParseOverrideConfig( + absl::string_view /*instance_name*/, + const XdsResourceType::DecodeContext& /*context*/, + XdsExtension /*extension*/, ValidationErrors* errors) const { errors->AddError("GCP auth filter does not support config override"); return nullptr; } -RefCountedPtr XdsHttpGcpAuthnFilter::MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr /*virtual_host_override_config*/, - RefCountedPtr /*route_override_config*/, - RefCountedPtr /*cluster_weight_override_config*/) - const { +RefCountedPtr XdsHttpGcpAuthnFilter::MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr /*virtual_host_override_config*/, + RefCountedPtr /*route_override_config*/, + RefCountedPtr /*cluster_weight_override_config*/) + const { // Does not support override config. return top_level_config; } void XdsHttpGcpAuthnFilter::UpdateBlackboard( - const FilterConfig& hcm_filter_config, - const grpc_core::FilterConfig* config, - const Blackboard* old_blackboard, - Blackboard* new_blackboard) const { + const FilterConfig& hcm_filter_config, const FilterConfig* config, + const Blackboard* old_blackboard, Blackboard* new_blackboard) const { const auto& filter_config = DownCast(*config); ValidationErrors errors; diff --git a/src/core/xds/grpc/xds_http_gcp_authn_filter.h b/src/core/xds/grpc/xds_http_gcp_authn_filter.h index fed67ba2c661f..cbdb1c2c737e1 100644 --- a/src/core/xds/grpc/xds_http_gcp_authn_filter.h +++ b/src/core/xds/grpc/xds_http_gcp_authn_filter.h @@ -53,24 +53,23 @@ class XdsHttpGcpAuthnFilter final : public XdsHttpFilterImpl { absl::StatusOr GenerateServiceConfig( const FilterConfig& hcm_filter_config) const override; void AddFilter(FilterChainBuilder& builder, - RefCountedPtr config) const override; - RefCountedPtr ParseTopLevelConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const override; - RefCountedPtr ParseOverrideConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const override; - RefCountedPtr MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr - virtual_host_override_config, - RefCountedPtr route_override_config, - RefCountedPtr - cluster_weight_override_config) const override; + RefCountedPtr config) const override; + RefCountedPtr ParseTopLevelConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const override; + RefCountedPtr ParseOverrideConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const override; + RefCountedPtr MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr virtual_host_override_config, + RefCountedPtr route_override_config, + RefCountedPtr cluster_weight_override_config) + const override; void UpdateBlackboard(const FilterConfig& hcm_filter_config, - const grpc_core::FilterConfig* config, + const FilterConfig* config, const Blackboard* old_blackboard, Blackboard* new_blackboard) const override; bool IsSupportedOnClients() const override { return true; } diff --git a/src/core/xds/grpc/xds_http_rbac_filter.cc b/src/core/xds/grpc/xds_http_rbac_filter.cc index e6f5fbbdd6d08..15cd3a6f4988c 100644 --- a/src/core/xds/grpc/xds_http_rbac_filter.cc +++ b/src/core/xds/grpc/xds_http_rbac_filter.cc @@ -575,7 +575,7 @@ void XdsHttpRbacFilter::AddFilter(InterceptionChainBuilder& builder) const { void XdsHttpRbacFilter::AddFilter( FilterChainBuilder& builder, - RefCountedPtr config) const { + RefCountedPtr config) const { builder.AddFilter(std::move(config)); } @@ -605,32 +605,28 @@ XdsHttpRbacFilter::GenerateServiceConfig( return ServiceConfigJsonEntry{"", ""}; } -RefCountedPtr -XdsHttpRbacFilter::ParseTopLevelConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const { -// FIXME +RefCountedPtr XdsHttpRbacFilter::ParseTopLevelConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const { + // FIXME return nullptr; } -RefCountedPtr -XdsHttpRbacFilter::ParseOverrideConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const { -// FIXME +RefCountedPtr XdsHttpRbacFilter::ParseOverrideConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const { + // FIXME return nullptr; } -RefCountedPtr XdsHttpRbacFilter::MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr - virtual_host_override_config, - RefCountedPtr route_override_config, - RefCountedPtr - cluster_weight_override_config) const { -// FIXME +RefCountedPtr XdsHttpRbacFilter::MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr virtual_host_override_config, + RefCountedPtr route_override_config, + RefCountedPtr cluster_weight_override_config) const { + // FIXME return nullptr; } diff --git a/src/core/xds/grpc/xds_http_rbac_filter.h b/src/core/xds/grpc/xds_http_rbac_filter.h index 9108b0f73a364..3e79261f849f3 100644 --- a/src/core/xds/grpc/xds_http_rbac_filter.h +++ b/src/core/xds/grpc/xds_http_rbac_filter.h @@ -55,22 +55,21 @@ class XdsHttpRbacFilter final : public XdsHttpFilterImpl { absl::StatusOr GenerateServiceConfig( const FilterConfig& hcm_filter_config) const override; void AddFilter(FilterChainBuilder& builder, - RefCountedPtr config) const override; - RefCountedPtr ParseTopLevelConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const override; - RefCountedPtr ParseOverrideConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const override; - RefCountedPtr MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr - virtual_host_override_config, - RefCountedPtr route_override_config, - RefCountedPtr - cluster_weight_override_config) const override; + RefCountedPtr config) const override; + RefCountedPtr ParseTopLevelConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const override; + RefCountedPtr ParseOverrideConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const override; + RefCountedPtr MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr virtual_host_override_config, + RefCountedPtr route_override_config, + RefCountedPtr cluster_weight_override_config) + const override; bool IsSupportedOnClients() const override { return false; } bool IsSupportedOnServers() const override { return true; } }; diff --git a/src/core/xds/grpc/xds_http_stateful_session_filter.cc b/src/core/xds/grpc/xds_http_stateful_session_filter.cc index 28ed71adc0a01..1f8fb4811b089 100644 --- a/src/core/xds/grpc/xds_http_stateful_session_filter.cc +++ b/src/core/xds/grpc/xds_http_stateful_session_filter.cc @@ -203,7 +203,7 @@ void XdsHttpStatefulSessionFilter::AddFilter( void XdsHttpStatefulSessionFilter::AddFilter( FilterChainBuilder& builder, - RefCountedPtr config) const { + RefCountedPtr config) const { builder.AddFilter(std::move(config)); } @@ -300,11 +300,11 @@ StatefulSessionFilter::CookieConfig ParseCookieConfig( } // namespace -RefCountedPtr +RefCountedPtr XdsHttpStatefulSessionFilter::ParseTopLevelConfig( - absl::string_view /*instance_name*/, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const { + absl::string_view /*instance_name*/, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const { absl::string_view* serialized_filter_config = std::get_if(&extension.value); if (serialized_filter_config == nullptr) { @@ -324,11 +324,11 @@ XdsHttpStatefulSessionFilter::ParseTopLevelConfig( return config; } -RefCountedPtr +RefCountedPtr XdsHttpStatefulSessionFilter::ParseOverrideConfig( - absl::string_view /*instance_name*/, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const { + absl::string_view /*instance_name*/, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const { absl::string_view* serialized_filter_config = std::get_if(&extension.value); if (serialized_filter_config == nullptr) { @@ -360,9 +360,8 @@ XdsHttpStatefulSessionFilter::ParseOverrideConfig( namespace { -RefCountedPtr -ConvertOverrideConfigToTopLevelConfig( - const grpc_core::FilterConfig& override_config) { +RefCountedPtr ConvertOverrideConfigToTopLevelConfig( + const FilterConfig& override_config) { const auto& oc = DownCast(override_config); auto config = MakeRefCounted(); @@ -372,14 +371,11 @@ ConvertOverrideConfigToTopLevelConfig( } // namespace -RefCountedPtr -XdsHttpStatefulSessionFilter::MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr - virtual_host_override_config, - RefCountedPtr route_override_config, - RefCountedPtr - cluster_weight_override_config) const { +RefCountedPtr XdsHttpStatefulSessionFilter::MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr virtual_host_override_config, + RefCountedPtr route_override_config, + RefCountedPtr cluster_weight_override_config) const { // No merging here, we just use the most specific config. However, // because the override configs are a different protobuf message type, // we need to convert them to the top-level config type, which is what diff --git a/src/core/xds/grpc/xds_http_stateful_session_filter.h b/src/core/xds/grpc/xds_http_stateful_session_filter.h index 7214e69bbba0e..ace958d65ed71 100644 --- a/src/core/xds/grpc/xds_http_stateful_session_filter.h +++ b/src/core/xds/grpc/xds_http_stateful_session_filter.h @@ -55,22 +55,21 @@ class XdsHttpStatefulSessionFilter final : public XdsHttpFilterImpl { absl::StatusOr GenerateServiceConfig( const FilterConfig& hcm_filter_config) const override; void AddFilter(FilterChainBuilder& builder, - RefCountedPtr config) const override; - RefCountedPtr ParseTopLevelConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const override; - RefCountedPtr ParseOverrideConfig( - absl::string_view instance_name, - const XdsResourceType::DecodeContext& context, XdsExtension extension, - ValidationErrors* errors) const override; - RefCountedPtr MergeConfigs( - RefCountedPtr top_level_config, - RefCountedPtr - virtual_host_override_config, - RefCountedPtr route_override_config, - RefCountedPtr - cluster_weight_override_config) const override; + RefCountedPtr config) const override; + RefCountedPtr ParseTopLevelConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const override; + RefCountedPtr ParseOverrideConfig( + absl::string_view instance_name, + const XdsResourceType::DecodeContext& context, XdsExtension extension, + ValidationErrors* errors) const override; + RefCountedPtr MergeConfigs( + RefCountedPtr top_level_config, + RefCountedPtr virtual_host_override_config, + RefCountedPtr route_override_config, + RefCountedPtr cluster_weight_override_config) + const override; bool IsSupportedOnClients() const override { return true; } bool IsSupportedOnServers() const override { return false; } }; diff --git a/src/core/xds/grpc/xds_listener_parser.cc b/src/core/xds/grpc/xds_listener_parser.cc index ef3972de13457..ec74fc9256fc2 100644 --- a/src/core/xds/grpc/xds_listener_parser.cc +++ b/src/core/xds/grpc/xds_listener_parser.cc @@ -264,7 +264,7 @@ XdsListenerResource::HttpConnectionManager HttpConnectionManagerParse( } continue; } -// FIXME: remove old config parsing + // FIXME: remove old config parsing std::optional filter_config = filter_impl->GenerateFilterConfig(name, context, std::move(*extension), errors); diff --git a/src/core/xds/grpc/xds_route_config.cc b/src/core/xds/grpc/xds_route_config.cc index ec9ba0870fc58..31842aff7b9a8 100644 --- a/src/core/xds/grpc/xds_route_config.cc +++ b/src/core/xds/grpc/xds_route_config.cc @@ -162,15 +162,14 @@ bool TypedPerFilterConfigsAreEqual( if (*a_config.config != *b_config.config) return false; ++b_it; } - if (b_it != b.end()) return false; - return true; + return b_it == b.end(); } } // namespace bool XdsRouteConfigResource::Route::RouteAction::ClusterWeight::operator==( - const XdsRouteConfigResource::Route::RouteAction::ClusterWeight& - other) const { + const XdsRouteConfigResource::Route::RouteAction::ClusterWeight& other) + const { return name == other.name && weight == other.weight && TypedPerFilterConfigsAreEqual(typed_per_filter_config, other.typed_per_filter_config); diff --git a/src/core/xds/grpc/xds_route_config_parser.cc b/src/core/xds/grpc/xds_route_config_parser.cc index f95a49970a4c2..72a4eae77adcf 100644 --- a/src/core/xds/grpc/xds_route_config_parser.cc +++ b/src/core/xds/grpc/xds_route_config_parser.cc @@ -410,9 +410,8 @@ XdsRouteConfigResource::TypedPerFilterConfig ParseTypedPerFilterConfig( typed_per_filter_config[std::string(key)].old_config = std::move(*filter_config); } - RefCountedPtr config = - filter_impl->ParseOverrideConfig( - key, context, std::move(*extension_to_use), errors); + RefCountedPtr config = filter_impl->ParseOverrideConfig( + key, context, std::move(*extension_to_use), errors); if (config != nullptr) { typed_per_filter_config[std::string(key)].config = std::move(config); }