Line data Source code
1 : #pragma once 2 : 3 : #include "envoy/extensions/matching/common_inputs/network/v3/network_inputs.pb.h" 4 : #include "envoy/extensions/matching/common_inputs/network/v3/network_inputs.pb.validate.h" 5 : #include "envoy/matcher/matcher.h" 6 : #include "envoy/network/filter.h" 7 : #include "envoy/registry/registry.h" 8 : 9 : #include "source/common/network/utility.h" 10 : #include "source/extensions/matching/network/common/inputs.h" 11 : 12 : namespace Envoy { 13 : namespace Network { 14 : namespace Matching { 15 : 16 : class ApplicationProtocolInput : public Matcher::DataInput<MatchingData> { 17 : public: 18 : Matcher::DataInputGetResult get(const MatchingData& data) const override; 19 : }; 20 : 21 : class ApplicationProtocolInputFactory 22 : : public BaseFactory< 23 : ApplicationProtocolInput, 24 : envoy::extensions::matching::common_inputs::network::v3::ApplicationProtocolInput, 25 : MatchingData> { 26 : public: 27 2 : ApplicationProtocolInputFactory() : BaseFactory("application_protocol") {} 28 : }; 29 : 30 : DECLARE_FACTORY(ApplicationProtocolInputFactory); 31 : 32 : } // namespace Matching 33 : } // namespace Network 34 : } // namespace Envoy