/// <summary>
        /// Add HealthCheck middleware to OWIN Pipeline
        /// </summary>
        /// <param name="builder">OWIN <see cref="IAppBuilder" /></param>
        /// <param name="options"><see cref="IHealthOptions"/> for configuring Health endpoint</param>
        /// <param name="aggregator"><see cref="IHealthAggregator"/> for determining how to report aggregate health of the application</param>
        /// <param name="contributors">A list of <see cref="IHealthContributor"/> to monitor for determining application health</param>
        /// <param name="loggerFactory">For logging within the middleware</param>
        /// <returns>OWIN <see cref="IAppBuilder" /> with Health Endpoint added</returns>
        public static IAppBuilder UseHealthActuator(this IAppBuilder builder, IHealthOptions options, IHealthAggregator aggregator, IEnumerable <IHealthContributor> contributors, ILoggerFactory loggerFactory = null)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            if (aggregator == null)
            {
                throw new ArgumentNullException(nameof(aggregator));
            }

            if (contributors == null)
            {
                throw new ArgumentNullException(nameof(contributors));
            }

            var endpoint = new HealthEndpoint(options, aggregator, contributors, loggerFactory?.CreateLogger <HealthEndpoint>());
            var logger   = loggerFactory?.CreateLogger <HealthEndpointOwinMiddleware>();

            return(builder.Use <HealthEndpointOwinMiddleware>(endpoint, logger));
        }
コード例 #2
0
 public HealthEndpointCore(IHealthOptions options, IHealthAggregator aggregator, IEnumerable <IHealthContributor> contributors, IOptionsMonitor <HealthCheckServiceOptions> serviceOptions, IServiceProvider provider, ILogger <HealthEndpoint> logger = null)
     : base(options, aggregator, contributors, logger)
 {
     _aggregator     = aggregator ?? throw new ArgumentNullException(nameof(aggregator));
     _serviceOptions = serviceOptions ?? throw new ArgumentNullException(nameof(serviceOptions));
     _provider       = provider ?? throw new ArgumentNullException(nameof(provider));
     _contributors   = contributors.ToList();
     _logger         = logger;
 }
コード例 #3
0
ファイル: HealthEndpoint.cs プロジェクト: gregolm/Steeltoe
        public HealthEndpoint(IHealthOptions options, IHealthAggregator aggregator, IEnumerable <IHealthContributor> contributors, ILogger <HealthEndpoint> logger = null)
            : base(options)
        {
            if (contributors == null)
            {
                throw new ArgumentNullException(nameof(contributors));
            }

            _aggregator   = aggregator ?? throw new ArgumentNullException(nameof(aggregator));
            _contributors = contributors.ToList();
            _logger       = logger;
        }
コード例 #4
0
        /// <summary>
        /// Add HealthCheck middleware to OWIN Pipeline
        /// </summary>
        /// <param name="builder">OWIN <see cref="IAppBuilder" /></param>
        /// <param name="options"><see cref="IHealthOptions"/> for configuring Health endpoint</param>
        /// <param name="loggerFactory">For logging within the middleware</param>
        /// <returns>OWIN <see cref="IAppBuilder" /> with Health Endpoint added</returns>
        public static IAppBuilder UseHealthActuator(this IAppBuilder builder, IHealthOptions options, ILoggerFactory loggerFactory = null)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            return(builder.UseHealthActuator(options, new DefaultHealthAggregator(), loggerFactory));
        }
コード例 #5
0
 public TestHealthEndpoint(IHealthOptions options, IHealthAggregator aggregator, IEnumerable <IHealthContributor> contributors, ILogger <HealthEndpoint> logger = null)
     : base(options, aggregator, contributors, logger)
 {
 }