ASP-WAF Web application firewall for .Net 5, .Net Standard 2.1 and .Net Core 3.x

HealthReportingData Class

Class ReportingData contains the format of the data that will get populated

Namespace:  Walter.Web.FireWall.Reporting
Assembly:  Walter.Web.FireWall (in Walter.Web.FireWall.dll)

Syntax


public sealed class HealthReportingData : FireWallReportingModel

Examples


These samples demonstrates how to report data for use by external applications by serializing json data.
Call the HTML template when rendering the report
using Walter.Web.FireWall;
using Walter.Web.FireWall.Reporting;
[ApiController]
[Route("api/[controller]")]
[Authorize]
public class HealthController : Controller
{
private readonly ILogger<HealthController> _logger;
private readonly IFireWall _fireWall;
public HealthController(ILogger<HealthController> logger, IFireWall fireWall)
{
_logger = logger;
_fireWall = fireWall;
}
[HttpGet]
public string Get()
{
_logger?.Lazy().LogInformation("Call firewall heath report. Heath status:\n {status}",   _fireWall.Report(ReportTypes.DEFAULT));
Response.ContentType = "application/xml";
return _fireWall.Report(ReportTypes.DEFAULT, ReportFormat.HTML);
}
}
Minimal configure the firewall to use the health report
services.AddFireWall("your token", "your domain-key"
, domainName: new Uri("https://www.YourDomain.dll", UriKind.Absolute), options =>
{
options.Cypher.ApplicationPassword = "123456Seven";
options.ApplicationName = "Cosonto sales";
options.ApplicationTag = "WS3";
//personalized view located in ~/Views/Shared
options.Reporting.HealthReportView = "_healthReport";
options.WebServices.IsUserApiUrl = new Uri(Links.IsUserEndpoint, UriKind.Relative);
options.WebServices.RegisterLinksApiUrl = new Uri(Links.SiteMapEndPoint, UriKind.Relative);
options.WebServices.BeaconApiUrl = new Uri(Links.BeaconPoint, UriKind.Relative);
}).UseGeography(new System.IO.DirectoryInfo("D:\\MaxMind"));
Use newtonsoft when serializing the report object in service configuration
services.AddControllersWithViews()
.AddNewtonsoftJson(options=>  options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore );

Inheritance Hierarchy


Walter.Web.FireWall.Reporting..::..FireWallReportingModel
      Walter.Web.FireWall.Reporting..::..HealthReportingData