1
#pragma once
2

            
3
#include "envoy/config/typed_config.h"
4
#include "envoy/server/factory_context.h"
5

            
6
#include "source/extensions/http/injected_credentials/common/credential.h"
7

            
8
namespace Envoy {
9
namespace Extensions {
10
namespace Http {
11
namespace InjectedCredentials {
12
namespace Common {
13

            
14
class NamedCredentialInjectorConfigFactory : public Config::TypedFactory {
15
public:
16
  virtual CredentialInjectorSharedPtr createCredentialInjectorFromProto(
17
      const Protobuf::Message& config, const std::string& stats_prefix,
18
      Server::Configuration::ServerFactoryContext& context, Init::Manager& init_manager) PURE;
19

            
20
19
  std::string category() const override { return "envoy.http.injected_credentials"; }
21
};
22

            
23
} // namespace Common
24
} // namespace InjectedCredentials
25
} // namespace Http
26
} // namespace Extensions
27
} // namespace Envoy