public PodController( MicroserviceSettings settings, ILivenessProbe livenessProbe) { _settings = settings; _livenessProbe = livenessProbe; }
public async Task Invoke(HttpContext httpContext, IServiceProvider services) { if (httpContext.Request.Path.StartsWithSegments("/probes/liveness")) { ILivenessProbe probe = GetLivenessProbe(services); if (await probe.ShouldRestartAsync()) { httpContext.Response.StatusCode = (int)HttpStatusCode.ServiceUnavailable; } else { httpContext.Response.StatusCode = (int)HttpStatusCode.OK; } } else { await Next.Invoke(httpContext); } }