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