1
#pragma once
2

            
3
#include "source/extensions/router/cluster_specifiers/lua/lua_cluster_specifier.h"
4

            
5
namespace Envoy {
6
namespace Extensions {
7
namespace Router {
8
namespace Lua {
9

            
10
class LuaClusterSpecifierPluginFactoryConfig
11
    : public Envoy::Router::ClusterSpecifierPluginFactoryConfig {
12
public:
13
7
  LuaClusterSpecifierPluginFactoryConfig() = default;
14
  Envoy::Router::ClusterSpecifierPluginSharedPtr
15
  createClusterSpecifierPlugin(const Protobuf::Message& config,
16
                               Server::Configuration::ServerFactoryContext&) override;
17

            
18
2
  ProtobufTypes::MessagePtr createEmptyConfigProto() override {
19
2
    return std::make_unique<LuaClusterSpecifierConfigProto>();
20
2
  }
21

            
22
5
  std::string name() const override { return "envoy.router.cluster_specifier_plugin.lua"; }
23
};
24

            
25
} // namespace Lua
26
} // namespace Router
27
} // namespace Extensions
28
} // namespace Envoy