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;
|
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
|
public static HttpExceptionMapping Create<TException>(HttpStatusCode statusCode, Func<Exception, string>? messageFactory = null) where TException : Exception
|
||||||
=> new HttpExceptionMapping(typeof(TException), statusCode, messageFactory);
|
=> 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