1
#include "source/extensions/health_checkers/thrift/config.h"
2

            
3
#include "envoy/config/core/v3/health_check.pb.h"
4
#include "envoy/registry/registry.h"
5

            
6
#include "source/common/config/utility.h"
7
#include "source/extensions/health_checkers/thrift/client_impl.h"
8
#include "source/extensions/health_checkers/thrift/utility.h"
9

            
10
namespace Envoy {
11
namespace Extensions {
12
namespace HealthCheckers {
13
namespace ThriftHealthChecker {
14

            
15
Upstream::HealthCheckerSharedPtr ThriftHealthCheckerFactory::createCustomHealthChecker(
16
    const envoy::config::core::v3::HealthCheck& config,
17
6
    Server::Configuration::HealthCheckerFactoryContext& context) {
18
6
  return std::make_shared<ThriftHealthChecker>(
19
6
      context.cluster(), config,
20
6
      getThriftHealthCheckConfig(config, context.messageValidationVisitor()),
21
6
      context.mainThreadDispatcher(), context.runtime(), context.eventLogger(), context.api(),
22
6
      ClientFactoryImpl::instance_);
23
6
};
24

            
25
/**
26
 * Static registration for the thrift custom health checker. @see RegisterFactory.
27
 */
28
REGISTER_FACTORY(ThriftHealthCheckerFactory, Server::Configuration::CustomHealthCheckerFactory);
29

            
30
} // namespace ThriftHealthChecker
31
} // namespace HealthCheckers
32
} // namespace Extensions
33
} // namespace Envoy