Line data Source code
1 : #include "source/extensions/http/header_formatters/preserve_case/config.h" 2 : 3 : #include "envoy/extensions/http/header_formatters/preserve_case/v3/preserve_case.pb.validate.h" 4 : #include "envoy/registry/registry.h" 5 : 6 : #include "source/common/protobuf/message_validator_impl.h" 7 : 8 : namespace Envoy { 9 : namespace Extensions { 10 : namespace Http { 11 : namespace HeaderFormatters { 12 : namespace PreserveCase { 13 : 14 : Envoy::Http::StatefulHeaderKeyFormatterFactorySharedPtr 15 0 : PreserveCaseFormatterFactoryConfig::createFromProto(const Protobuf::Message& message) { 16 0 : auto config = 17 0 : MessageUtil::downcastAndValidate<const envoy::extensions::http::header_formatters:: 18 0 : preserve_case::v3::PreserveCaseFormatterConfig&>( 19 0 : message, ProtobufMessage::getStrictValidationVisitor()); 20 : 21 0 : return std::make_shared<PreserveCaseFormatterFactory>(config.forward_reason_phrase(), 22 0 : config.formatter_type_on_envoy_headers()); 23 0 : } 24 : 25 : LEGACY_REGISTER_FACTORY(PreserveCaseFormatterFactoryConfig, 26 : Envoy::Http::StatefulHeaderKeyFormatterFactoryConfig, "preserve_case"); 27 : 28 : } // namespace PreserveCase 29 : } // namespace HeaderFormatters 30 : } // namespace Http 31 : } // namespace Extensions 32 : } // namespace Envoy