Coverage Report

Created: 2023-11-12 09:30

/proc/self/cwd/source/extensions/filters/network/echo/config.cc
Line
Count
Source (jump to first uncovered line)
1
#include "envoy/extensions/filters/network/echo/v3/echo.pb.h"
2
#include "envoy/extensions/filters/network/echo/v3/echo.pb.validate.h"
3
#include "envoy/registry/registry.h"
4
#include "envoy/server/filter_config.h"
5
6
#include "source/extensions/filters/network/common/factory_base.h"
7
#include "source/extensions/filters/network/echo/echo.h"
8
#include "source/extensions/filters/network/well_known_names.h"
9
10
namespace Envoy {
11
namespace Extensions {
12
namespace NetworkFilters {
13
namespace Echo {
14
15
/**
16
 * Config registration for the echo filter. @see NamedNetworkFilterConfigFactory.
17
 */
18
class EchoConfigFactory
19
    : public Common::FactoryBase<envoy::extensions::filters::network::echo::v3::Echo> {
20
public:
21
4
  EchoConfigFactory() : FactoryBase(NetworkFilterNames::get().Echo) {}
22
23
private:
24
  Network::FilterFactoryCb
25
  createFilterFactoryFromProtoTyped(const envoy::extensions::filters::network::echo::v3::Echo&,
26
0
                                    Server::Configuration::FactoryContext&) override {
27
0
    return [](Network::FilterManager& filter_manager) -> void {
28
0
      filter_manager.addReadFilter(std::make_shared<EchoFilter>());
29
0
    };
30
0
  }
31
32
  bool isTerminalFilterByProtoTyped(const envoy::extensions::filters::network::echo::v3::Echo&,
33
0
                                    Server::Configuration::ServerFactoryContext&) override {
34
0
    return true;
35
0
  }
36
};
37
38
/**
39
 * Static registration for the echo filter. @see RegisterFactory.
40
 */
41
LEGACY_REGISTER_FACTORY(EchoConfigFactory, Server::Configuration::NamedNetworkFilterConfigFactory,
42
                        "envoy.echo");
43
44
} // namespace Echo
45
} // namespace NetworkFilters
46
} // namespace Extensions
47
} // namespace Envoy