Add domain exception handling for authorization and data conflicts
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
namespace EnvelopeGenerator.Server.Middleware;
|
||||
|
||||
using DigitalData.Core.Exceptions;
|
||||
using EnvelopeGenerator.Domain.Exceptions;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System.Net;
|
||||
@@ -74,6 +75,16 @@ public class ExceptionHandlingMiddleware
|
||||
message = forbiddenEx.Message;
|
||||
break;
|
||||
|
||||
case AuthorizationException authorizationEx:
|
||||
context.Response.StatusCode = (int)HttpStatusCode.Forbidden;
|
||||
message = authorizationEx.Message;
|
||||
break;
|
||||
|
||||
case DataIntegrityException dataIntegrityEx:
|
||||
context.Response.StatusCode = (int)HttpStatusCode.Conflict;
|
||||
message = dataIntegrityEx.Message;
|
||||
break;
|
||||
|
||||
default:
|
||||
logger.LogError(exception, "Unhandled exception occurred.");
|
||||
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
|
||||
|
||||
Reference in New Issue
Block a user