LCOV - code coverage report
Current view: top level - source/extensions/transport_sockets/proxy_protocol - config.cc (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 3 19 15.8 %
Date: 2024-01-05 06:35:25 Functions: 1 2 50.0 %

          Line data    Source code
       1             : #include "source/extensions/transport_sockets/proxy_protocol/config.h"
       2             : 
       3             : #include "envoy/extensions/transport_sockets/proxy_protocol/v3/upstream_proxy_protocol.pb.h"
       4             : #include "envoy/extensions/transport_sockets/proxy_protocol/v3/upstream_proxy_protocol.pb.validate.h"
       5             : #include "envoy/registry/registry.h"
       6             : 
       7             : #include "source/common/config/utility.h"
       8             : #include "source/extensions/transport_sockets/proxy_protocol/proxy_protocol.h"
       9             : 
      10             : namespace Envoy {
      11             : namespace Extensions {
      12             : namespace TransportSockets {
      13             : namespace ProxyProtocol {
      14             : 
      15             : Network::UpstreamTransportSocketFactoryPtr
      16             : UpstreamProxyProtocolSocketConfigFactory::createTransportSocketFactory(
      17             :     const Protobuf::Message& message,
      18           0 :     Server::Configuration::TransportSocketFactoryContext& context) {
      19           0 :   const auto& outer_config =
      20           0 :       MessageUtil::downcastAndValidate<const envoy::extensions::transport_sockets::proxy_protocol::
      21           0 :                                            v3::ProxyProtocolUpstreamTransport&>(
      22           0 :           message, context.messageValidationVisitor());
      23           0 :   auto& inner_config_factory = Config::Utility::getAndCheckFactory<
      24           0 :       Server::Configuration::UpstreamTransportSocketConfigFactory>(outer_config.transport_socket());
      25           0 :   ProtobufTypes::MessagePtr inner_factory_config = Config::Utility::translateToFactoryConfig(
      26           0 :       outer_config.transport_socket(), context.messageValidationVisitor(), inner_config_factory);
      27           0 :   auto inner_transport_factory =
      28           0 :       inner_config_factory.createTransportSocketFactory(*inner_factory_config, context);
      29           0 :   return std::make_unique<UpstreamProxyProtocolSocketFactory>(
      30           0 :       std::move(inner_transport_factory), outer_config.config(), context.statsScope());
      31           0 : }
      32             : 
      33           1 : ProtobufTypes::MessagePtr UpstreamProxyProtocolSocketConfigFactory::createEmptyConfigProto() {
      34           1 :   return std::make_unique<
      35           1 :       envoy::extensions::transport_sockets::proxy_protocol::v3::ProxyProtocolUpstreamTransport>();
      36           0 :   ;
      37           0 : }
      38             : 
      39             : REGISTER_FACTORY(UpstreamProxyProtocolSocketConfigFactory,
      40             :                  Server::Configuration::UpstreamTransportSocketConfigFactory);
      41             : 
      42             : } // namespace ProxyProtocol
      43             : } // namespace TransportSockets
      44             : } // namespace Extensions
      45             : } // namespace Envoy

Generated by: LCOV version 1.15