1
#pragma once
2

            
3
#include <string>
4

            
5
#include "envoy/config/typed_config.h"
6
#include "envoy/registry/registry.h"
7

            
8
#include "source/common/formatter/stream_info_formatter.h"
9
#include "source/common/formatter/substitution_formatter.h"
10

            
11
namespace Envoy {
12
namespace Extensions {
13
namespace Formatter {
14

            
15
// Access log handler for METADATA() command.
16
class MetadataFormatterCommandParser : public ::Envoy::Formatter::CommandParser {
17
public:
18
6
  MetadataFormatterCommandParser() = default;
19
  ::Envoy::Formatter::FormatterProviderPtr parse(absl::string_view command,
20
                                                 absl::string_view subcommand,
21
                                                 absl::optional<size_t> max_length) const override;
22
};
23

            
24
} // namespace Formatter
25
} // namespace Extensions
26
} // namespace Envoy