change folder vor ab.web
This commit is contained in:
38
AB.WEB/Middleware/ExceptionHandlingMiddleware.cs
Normal file
38
AB.WEB/Middleware/ExceptionHandlingMiddleware.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using AB.Domain.Exceptions;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace AB_API.Middleware
|
||||
{
|
||||
public class ExceptionHandlingMiddleware : IMiddleware
|
||||
{
|
||||
public async Task InvokeAsync(HttpContext context, RequestDelegate next)
|
||||
{
|
||||
try
|
||||
{
|
||||
await next(context);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
await HandleExceptionAsync(context, ex);
|
||||
}
|
||||
}
|
||||
|
||||
private async Task HandleExceptionAsync(HttpContext httpContext, Exception ex)
|
||||
{
|
||||
httpContext.Response.ContentType = "application/json";
|
||||
|
||||
httpContext.Response.StatusCode = ex switch
|
||||
{
|
||||
NotFoundException => StatusCodes.Status404NotFound,
|
||||
_ => StatusCodes.Status400BadRequest
|
||||
};
|
||||
|
||||
var response = new
|
||||
{
|
||||
error = ex.Message
|
||||
};
|
||||
|
||||
await httpContext.Response.WriteAsJsonAsync(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user