1
#pragma once
2

            
3
#include "envoy/extensions/matching/common_inputs/environment_variable/v3/input.pb.h"
4
#include "envoy/extensions/matching/common_inputs/environment_variable/v3/input.pb.validate.h"
5
#include "envoy/matcher/matcher.h"
6
#include "envoy/server/factory_context.h"
7

            
8
#include "source/common/protobuf/utility.h"
9
#include "source/extensions/matching/common_inputs/environment_variable/input.h"
10

            
11
namespace Envoy {
12
namespace Extensions {
13
namespace Matching {
14
namespace CommonInputs {
15
namespace EnvironmentVariable {
16

            
17
class Config : public Envoy::Matcher::CommonProtocolInputFactory {
18
public:
19
  Envoy::Matcher::CommonProtocolInputFactoryCb createCommonProtocolInputFactoryCb(
20
      const Protobuf::Message& config,
21
      ProtobufMessage::ValidationVisitor& validation_visitor) override;
22

            
23
5
  std::string name() const override { return "envoy.matching.common_inputs.environment_variable"; }
24

            
25
2
  ProtobufTypes::MessagePtr createEmptyConfigProto() override {
26
2
    return std::make_unique<
27
2
        envoy::extensions::matching::common_inputs::environment_variable::v3::Config>();
28
2
  }
29
};
30
} // namespace EnvironmentVariable
31
} // namespace CommonInputs
32
} // namespace Matching
33
} // namespace Extensions
34
} // namespace Envoy