Enhance HttpExceptionMapping with logging and defaults
Added optional 'Log' property to HttpExceptionMapping for specifying logging behavior. Introduced static readonly properties for default mappings of BadRequestException and NotFoundException using a default message factory.
This commit is contained in:
parent
9b29a49ad6
commit
b38422256c
@ -2,8 +2,14 @@
|
||||
|
||||
namespace DigitalData.Core.Exceptions.Middleware;
|
||||
|
||||
public record HttpExceptionMapping(Type ExceptionType, HttpStatusCode StatusCode, Func<Exception, string>? MessageFactory = null)
|
||||
public record HttpExceptionMapping(Type ExceptionType, HttpStatusCode StatusCode, Func<Exception, string>? MessageFactory = null, bool Log = false)
|
||||
{
|
||||
public static HttpExceptionMapping Create<TException>(HttpStatusCode statusCode, Func<Exception, string>? messageFactory = null) where TException : Exception
|
||||
=> new HttpExceptionMapping(typeof(TException), statusCode, messageFactory);
|
||||
|
||||
public static readonly Func<Exception, string>? DefaultMessageFactory = ex => ex.Message;
|
||||
|
||||
public static readonly HttpExceptionMapping DefaultBadRequest = Create<BadRequestException>(HttpStatusCode.BadRequest, DefaultMessageFactory);
|
||||
|
||||
public static readonly HttpExceptionMapping DefaultNotFound = Create<NotFoundException>(HttpStatusCode.NotFound, DefaultMessageFactory);
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user