Line data Source code
1 : #include "source/extensions/http/header_validators/envoy_default/config.h" 2 : 3 : #include "envoy/extensions/http/header_validators/envoy_default/v3/header_validator.pb.h" 4 : #include "envoy/extensions/http/header_validators/envoy_default/v3/header_validator.pb.validate.h" 5 : 6 : #include "source/common/config/utility.h" 7 : #include "source/extensions/http/header_validators/envoy_default/header_validator_factory.h" 8 : 9 : namespace Envoy { 10 : namespace Extensions { 11 : namespace Http { 12 : namespace HeaderValidators { 13 : namespace EnvoyDefault { 14 : 15 : ::Envoy::Http::HeaderValidatorFactoryPtr HeaderValidatorFactoryConfig::createFromProto( 16 0 : const Protobuf::Message& message, Server::Configuration::ServerFactoryContext& server_context) { 17 0 : auto mptr = ::Envoy::Config::Utility::translateAnyToFactoryConfig( 18 0 : dynamic_cast<const ProtobufWkt::Any&>(message), server_context.messageValidationVisitor(), 19 0 : *this); 20 0 : const auto& proto_config = 21 0 : MessageUtil::downcastAndValidate<const ::envoy::extensions::http::header_validators:: 22 0 : envoy_default::v3::HeaderValidatorConfig&>( 23 0 : *mptr, server_context.messageValidationVisitor()); 24 0 : return std::make_unique<HeaderValidatorFactory>(proto_config, server_context); 25 0 : } 26 : 27 12 : ProtobufTypes::MessagePtr HeaderValidatorFactoryConfig::createEmptyConfigProto() { 28 12 : return std::make_unique< 29 12 : ::envoy::extensions::http::header_validators::envoy_default::v3::HeaderValidatorConfig>(); 30 12 : } 31 : 32 : REGISTER_FACTORY(HeaderValidatorFactoryConfig, ::Envoy::Http::HeaderValidatorFactoryConfig); 33 : 34 : } // namespace EnvoyDefault 35 : } // namespace HeaderValidators 36 : } // namespace Http 37 : } // namespace Extensions 38 : } // namespace Envoy