public static UIHealthReport CreateFrom(Exception exception, string entryName = "Endpoint") { var uiReport = new UIHealthReport(new Dictionary <string, UIHealthReportEntry>(), TimeSpan.FromSeconds(0)) { Status = UIHealthStatus.Unhealthy, }; uiReport.Entries.Add(entryName, new UIHealthReportEntry { Exception = exception.Message, Description = exception.Message, Duration = TimeSpan.FromSeconds(0), Status = UIHealthStatus.Unhealthy }); return(uiReport); }
public static async Task WriteHealthCheckUIResponse(HttpContext httpContext, HealthReport report) { if (report != null) { httpContext.Response.ContentType = DEFAULT_CONTENT_TYPE; var uiReport = UIHealthReport .CreateFrom(report); using var responseStream = new MemoryStream(); await JsonSerializer.SerializeAsync(responseStream, uiReport, options.Value); await httpContext.Response.BodyWriter.WriteAsync(responseStream.ToArray()); } else { await httpContext.Response.BodyWriter.WriteAsync(emptyResponse); } }