diff --git a/BUILD b/BUILD index ca8f2ebd2..e994d6cfe 100644 --- a/BUILD +++ b/BUILD @@ -36,7 +36,6 @@ envoy_cc_library( repository = "@envoy", deps = [ ":echo2_lib", - "@envoy//include/envoy/network:connection_interface", "@envoy//source/server:configuration_lib", ], ) diff --git a/echo2_config.cc b/echo2_config.cc index 4d987491e..69a983b50 100644 --- a/echo2_config.cc +++ b/echo2_config.cc @@ -1,4 +1,4 @@ -#include "envoy/network/connection.h" +#include #include "echo2.h" #include "server/configuration_impl.h" @@ -13,19 +13,13 @@ namespace Configuration { class Echo2ConfigFactory : public NamedNetworkFilterConfigFactory { public: // NamedNetworkFilterConfigFactory - NetworkFilterFactoryCb createFilterFactory(NetworkFilterType type, const Json::Object&, - Server::Instance&) override { - if (type != NetworkFilterType::Read) { - throw EnvoyException( - fmt::format("{} network filter must be configured as a read filter.", name())); - } - - return [](Network::FilterManager& filter_manager) -> void { - filter_manager.addReadFilter(Network::ReadFilterSharedPtr{new Filter::Echo2()}); - }; + NetworkFilterFactoryCb createFilterFactory(const Json::Object&, FactoryContext&) override { + return [](Network::FilterManager& filter_manager) + -> void { filter_manager.addReadFilter(Network::ReadFilterSharedPtr{new Filter::Echo2()}); }; } std::string name() override { return "echo2"; } + NetworkFilterType type() override { return NetworkFilterType::Read; } }; /** diff --git a/envoy b/envoy index ddf9cc9b5..e9c56dc10 160000 --- a/envoy +++ b/envoy @@ -1 +1 @@ -Subproject commit ddf9cc9b5710c37e60c0e9e0213dd9dda0a69b39 +Subproject commit e9c56dc1074188578e753b7977c6e7513a6a3bb9