Skip to content

Commit 08ae12a

Browse files
authored
rbac: avoid unnecessary string copying (#40211)
Commit Message: rbac: avoid unnecessary string copying Additional Description: Minor refactor of the http RBAC filter to avoid unnecessary string copy for the getters. Risk Level: low Testing: N/A Docs Changes: N/A Release Notes: N/A Platform Specific Features: N/A Signed-off-by: Adi Suissa-Peleg <[email protected]>
1 parent eb7e8d7 commit 08ae12a

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

source/extensions/filters/http/rbac/rbac_filter.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,12 @@ RoleBasedAccessControlFilterConfig::RoleBasedAccessControlFilterConfig(
8585
const Http::StreamFilterCallbacks* callbacks) const { \
8686
const auto* route_local = Http::Utility::resolveMostSpecificPerFilterConfig< \
8787
RoleBasedAccessControlRouteSpecificFilterConfig>(callbacks); \
88-
std::string prefix = PREFIX; \
88+
absl::string_view prefix = PREFIX; \
8989
if (route_local && !route_local->ROUTE_LOCAL_PREFIX_OVERRIDE().empty()) { \
9090
prefix = route_local->ROUTE_LOCAL_PREFIX_OVERRIDE(); \
9191
} \
92-
return prefix + \
93-
Filters::Common::RBAC::DynamicMetadataKeysSingleton::get().DYNAMIC_METADATA_KEY; \
92+
return absl::StrCat( \
93+
prefix, Filters::Common::RBAC::DynamicMetadataKeysSingleton::get().DYNAMIC_METADATA_KEY); \
9494
}
9595

9696
DEFINE_DYNAMIC_METADATA_STAT_KEY_GETTER(shadowEffectivePolicyIdField, shadow_rules_stat_prefix_,

source/extensions/filters/http/rbac/rbac_filter.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ class RoleBasedAccessControlRouteSpecificFilterConfig : public Router::RouteSpec
3737
return mode == Filters::Common::RBAC::EnforcementMode::Enforced ? engine_.get()
3838
: shadow_engine_.get();
3939
}
40-
std::string rulesStatPrefix() const { return rules_stat_prefix_; }
40+
absl::string_view rulesStatPrefix() const { return rules_stat_prefix_; }
4141

42-
std::string shadowRulesStatPrefix() const { return shadow_rules_stat_prefix_; }
42+
absl::string_view shadowRulesStatPrefix() const { return shadow_rules_stat_prefix_; }
4343

4444
bool perRuleStatsEnabled() const { return per_rule_stats_; }
4545

0 commit comments

Comments
 (0)