diff --git a/source/common/orca/orca_parser.cc b/source/common/orca/orca_parser.cc index 7572edc8569d..73ba57da26d9 100644 --- a/source/common/orca/orca_parser.cc +++ b/source/common/orca/orca_parser.cc @@ -10,18 +10,24 @@ #include "absl/strings/string_view.h" using ::Envoy::Http::HeaderMap; -using ::Envoy::Http::LowerCaseString; using xds::data::orca::v3::OrcaLoadReport; namespace Envoy { namespace Orca { +namespace { + +const Http::LowerCaseString& endpointLoadMetricsHeaderBin() { + CONSTRUCT_ON_FIRST_USE(Http::LowerCaseString, kEndpointLoadMetricsHeaderBin); +} + +} // namespace + absl::StatusOr parseOrcaLoadReportHeaders(const HeaderMap& headers) { OrcaLoadReport load_report; // Binary protobuf format. - if (const auto header_bin = headers.get(LowerCaseString(kEndpointLoadMetricsHeaderBin)); - !header_bin.empty()) { + if (const auto header_bin = headers.get(endpointLoadMetricsHeaderBin()); !header_bin.empty()) { const auto header_value = header_bin[0]->value().getStringView(); const std::string decoded_value = Envoy::Base64::decode(header_value); if (!load_report.ParseFromString(decoded_value)) {