1
#pragma once
2

            
3
#include "envoy/server/transport_socket_config.h"
4

            
5
namespace Envoy {
6
namespace Extensions {
7
namespace TransportSockets {
8
namespace Http11Connect {
9

            
10
/**
11
 * Config registration for the upstream HTTP/1.1 proxy transport socket factory.
12
 * @see TransportSocketConfigFactory.
13
 */
14
class UpstreamHttp11ConnectSocketConfigFactory
15
    : public Server::Configuration::UpstreamTransportSocketConfigFactory {
16
public:
17
21
  std::string name() const override { return "envoy.transport_sockets.http_11_proxy"; }
18
  ProtobufTypes::MessagePtr createEmptyConfigProto() override;
19
  absl::StatusOr<Network::UpstreamTransportSocketFactoryPtr> createTransportSocketFactory(
20
      const Protobuf::Message& config,
21
      Server::Configuration::TransportSocketFactoryContext& context) override;
22
};
23

            
24
DECLARE_FACTORY(UpstreamHttp11ConnectSocketConfigFactory);
25

            
26
} // namespace Http11Connect
27
} // namespace TransportSockets
28
} // namespace Extensions
29
} // namespace Envoy