/
config.cc
31 lines (25 loc) · 1.04 KB
/
config.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "extensions/filters/http/lua/config.h"
#include "envoy/config/filter/http/lua/v2/lua.pb.validate.h"
#include "envoy/registry/registry.h"
#include "extensions/filters/http/lua/lua_filter.h"
namespace Envoy {
namespace Extensions {
namespace HttpFilters {
namespace Lua {
Http::FilterFactoryCb LuaFilterConfig::createFilterFactoryFromProtoTyped(
const envoy::config::filter::http::lua::v2::Lua& proto_config, const std::string&,
Server::Configuration::FactoryContext& context) {
FilterConfigConstSharedPtr filter_config(new FilterConfig{
proto_config.inline_code(), context.threadLocal(), context.clusterManager()});
return [filter_config](Http::FilterChainFactoryCallbacks& callbacks) -> void {
callbacks.addStreamFilter(std::make_shared<Filter>(filter_config));
};
}
/**
* Static registration for the Lua filter. @see RegisterFactory.
*/
REGISTER_FACTORY(LuaFilterConfig, Server::Configuration::NamedHttpFilterConfigFactory);
} // namespace Lua
} // namespace HttpFilters
} // namespace Extensions
} // namespace Envoy