Ejemplo n.º 1
0
        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);
            }
        }