diff --git a/DigitalData.Core.Exceptions.Middleware/HttpExceptionMapping.cs b/DigitalData.Core.Exceptions.Middleware/HttpExceptionMapping.cs index e87c45c..153f92e 100644 --- a/DigitalData.Core.Exceptions.Middleware/HttpExceptionMapping.cs +++ b/DigitalData.Core.Exceptions.Middleware/HttpExceptionMapping.cs @@ -2,8 +2,14 @@ namespace DigitalData.Core.Exceptions.Middleware; -public record HttpExceptionMapping(Type ExceptionType, HttpStatusCode StatusCode, Func? MessageFactory = null) +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); }; \ No newline at end of file