Files
hrynco-common/HrynCo.Common/HealthChecks/CompositeHealthCheck.cs
T
Anatolii Grynchuk 85b362e8cd chore: add hrynco common library solution
- add the standalone HrynCo.Common solution and projects
- include the shared common library source and tests
- add package metadata and a repo gitignore
2026-05-01 00:17:34 +03:00

31 lines
912 B
C#

namespace HrynCo.Common.HealthChecks;
using HrynCo.Common.HealthChecks.Interfaces;
using Microsoft.Extensions.Diagnostics.HealthChecks;
public class CompositeHealthCheck : IHealthCheck
{
private readonly IConfigurationCheck _configCheck;
private readonly bool _configOnly;
private readonly IServiceHealthCheck _serviceCheck;
public CompositeHealthCheck(
IConfigurationCheck configCheck,
IServiceHealthCheck serviceCheck,
bool configOnly)
{
_configCheck = configCheck;
_serviceCheck = serviceCheck;
_configOnly = configOnly;
}
public Task<HealthCheckResult> CheckHealthAsync(
HealthCheckContext context,
CancellationToken cancellationToken)
{
return _configOnly
? _configCheck.CheckConfigurationAsync(cancellationToken)
: _serviceCheck.CheckHealthAsync(cancellationToken);
}
}