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
10
    const Protobuf::Message& message, Server::Configuration::ServerFactoryContext& server_context) {
17
10
  auto mptr = ::Envoy::Config::Utility::translateAnyToFactoryConfig(
18
10
      dynamic_cast<const Protobuf::Any&>(message), server_context.messageValidationVisitor(),
19
10
      *this);
20
10
  const auto& proto_config =
21
10
      MessageUtil::downcastAndValidate<const ::envoy::extensions::http::header_validators::
22
10
                                           envoy_default::v3::HeaderValidatorConfig&>(
23
10
          *mptr, server_context.messageValidationVisitor());
24
10
  return std::make_unique<HeaderValidatorFactory>(proto_config, server_context);
25
10
}
26

            
27
484
ProtobufTypes::MessagePtr HeaderValidatorFactoryConfig::createEmptyConfigProto() {
28
484
  return std::make_unique<
29
484
      ::envoy::extensions::http::header_validators::envoy_default::v3::HeaderValidatorConfig>();
30
484
}
31

            
32
REGISTER_FACTORY(HeaderValidatorFactoryConfig, ::Envoy::Http::HeaderValidatorFactoryConfig);
33

            
34
} // namespace EnvoyDefault
35
} // namespace HeaderValidators
36
} // namespace Http
37
} // namespace Extensions
38
} // namespace Envoy