1
#pragma once
2

            
3
#include "envoy/extensions/http/early_header_mutation/header_mutation/v3/header_mutation.pb.h"
4
#include "envoy/extensions/http/early_header_mutation/header_mutation/v3/header_mutation.pb.validate.h"
5

            
6
#include "source/extensions/http/early_header_mutation/header_mutation/header_mutation.h"
7

            
8
namespace Envoy {
9
namespace Extensions {
10
namespace Http {
11
namespace EarlyHeaderMutation {
12
namespace HeaderMutation {
13

            
14
class Factory : public Envoy::Http::EarlyHeaderMutationFactory {
15
public:
16
8
  std::string name() const override { return "envoy.http.early_header_mutation.header_mutation"; }
17

            
18
  Envoy::Http::EarlyHeaderMutationPtr
19
  createExtension(const Protobuf::Message& config,
20
                  Server::Configuration::FactoryContext& context) override;
21

            
22
8
  ProtobufTypes::MessagePtr createEmptyConfigProto() override {
23
8
    return std::make_unique<
24
8
        envoy::extensions::http::early_header_mutation::header_mutation::v3::HeaderMutation>();
25
8
  }
26
};
27

            
28
} // namespace HeaderMutation
29
} // namespace EarlyHeaderMutation
30
} // namespace Http
31
} // namespace Extensions
32
} // namespace Envoy