absl::optional<std::string> formatUpstreamHostsAttempted(const StreamInfo::StreamInfo& stream_info,
: filter_namespace_(filter_namespace), path_(path.begin(), path.end()), max_length_(max_length),
MetadataFormatter::formatMetadata(const envoy::config::core::v3::Metadata& metadata) const {
MetadataFormatter::formatMetadataValue(const envoy::config::core::v3::Metadata& metadata) const {
const Protobuf::Value& val = Config::Metadata::metadataValue(&metadata, filter_namespace_, path_);
Protobuf::Value MetadataFormatter::formatValue(const StreamInfo::StreamInfo& stream_info) const {
return std::make_unique<FilterStateFormatter>(key, max_length, serialize_as_string, is_upstream,
FilterStateFormatter::FilterStateFormatter(absl::string_view key, absl::optional<size_t> max_length,
Protobuf::Value FilterStateFormatter::formatValue(const StreamInfo::StreamInfo& stream_info) const {
absl::InlinedVector<absl::string_view, 3> parsed_sub_commands = absl::StrSplit(sub_command, ':');
return std::make_unique<CommonDurationFormatter>(std::move(start_getter), std::move(end_getter),
Protobuf::Value CommonDurationFormatter::formatValue(const StreamInfo::StreamInfo& info) const {
Protobuf::Value SystemTimeFormatter::formatValue(const StreamInfo::StreamInfo& stream_info) const {
absl::optional<std::string> EnvironmentFormatter::format(const StreamInfo::StreamInfo&) const {
RequestedServerNameFormatter::getHostFromHeaders(const StreamInfo::StreamInfo& stream_info) const {
using FieldExtractor = std::function<absl::optional<std::string>(const StreamInfo::StreamInfo&)>;
absl::optional<std::string> format(const StreamInfo::StreamInfo& stream_info) const override {
absl::optional<std::string> format(const StreamInfo::StreamInfo& stream_info) const override {
absl::optional<std::string> format(const StreamInfo::StreamInfo& stream_info) const override {
: field_extractor_(f), extraction_type_(extraction_type), mask_prefix_len_(mask_prefix_len) {}
absl::optional<std::string> format(const StreamInfo::StreamInfo& stream_info) const override {
absl::optional<std::string> format(const StreamInfo::StreamInfo& stream_info) const override {
const auto value = field_extractor_(*stream_info.downstreamAddressProvider().sslConnection());
const auto value = field_extractor_(*stream_info.downstreamAddressProvider().sslConnection());
class StreamInfoUpstreamSslConnectionInfoFormatterProvider : public StreamInfoFormatterProvider {
StreamInfoUpstreamSslConnectionInfoFormatterProvider(FieldExtractor f) : field_extractor_(f) {}
absl::optional<std::string> format(const StreamInfo::StreamInfo& stream_info) const override {
CommandParserPtr DefaultBuiltInStreamInfoCommandParserFactory::createCommandParser() const {