Files
scadaproj/ZB.MOM.WW.Health/src/ZB.MOM.WW.Health/ZbHealthEndpointOptions.cs
T
2026-06-01 06:42:24 -04:00

28 lines
1.2 KiB
C#

using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Diagnostics.HealthChecks;
namespace ZB.MOM.WW.Health;
/// <summary>
/// Options for <see cref="ZbHealthEndpointExtensions.MapZbHealth"/>. Lets callers override the
/// three tier route paths and the JSON response writer. The defaults match the ZB.MOM.WW health contract.
/// </summary>
public sealed class ZbHealthEndpointOptions
{
/// <summary>Path for the readiness tier (runs only checks tagged <see cref="ZbHealthTags.Ready"/>).</summary>
public string ReadyPath { get; set; } = "/health/ready";
/// <summary>Path for the active-node tier (runs only checks tagged <see cref="ZbHealthTags.Active"/>).</summary>
public string ActivePath { get; set; } = "/health/active";
/// <summary>Path for the bare liveness tier (runs no checks; 200 while the process is up).</summary>
public string LivePath { get; set; } = "/healthz";
/// <summary>
/// Response writer for the readiness and active tiers. Defaults to
/// <see cref="ZbHealthWriter.WriteJsonAsync"/> (canonical JSON). The liveness tier runs no checks
/// and emits a minimal body, so this writer is not applied to it.
/// </summary>
public Func<HttpContext, HealthReport, Task>? ResponseWriter { get; set; }
}