using System.Net; namespace DigitalData.Core.Exceptions.Middleware; public record HttpExceptionMapping(Type ExceptionType, HttpStatusCode StatusCode, Func? MessageFactory = null, bool Log = false) { public static HttpExceptionMapping Create(HttpStatusCode statusCode, Func? messageFactory = null) where TException : Exception => new HttpExceptionMapping(typeof(TException), statusCode, messageFactory); public static readonly Func? DefaultMessageFactory = ex => ex.Message; public static readonly HttpExceptionMapping DefaultBadRequest = Create(HttpStatusCode.BadRequest, DefaultMessageFactory); public static readonly HttpExceptionMapping DefaultNotFound = Create(HttpStatusCode.NotFound, DefaultMessageFactory); };