Developer 02 87e4c1414e Enhance ConfigureGlobalExceptionHandler method
Updated the `ConfigureGlobalExceptionHandler` method in the `DependencyInjection` class to include two optional parameters: `options` (nullable) and `addDefaultHandlers` (defaulting to true). The method now initializes `options` to a default action if null and adds default exception handlers when `addDefaultHandlers` is true, improving flexibility and usability.
2025-05-19 16:45:40 +02:00

26 lines
948 B
C#

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
namespace DigitalData.Core.Exceptions.Middleware;
public static class DependencyInjection
{
public static IServiceCollection ConfigureGlobalExceptionHandler(this IServiceCollection services, Action<GlobalExceptionHandlerOptions>? options = null, bool addDefaultHandlers = true)
{
options ??= opt => { };
if (addDefaultHandlers)
{
options += opt => opt.Add(HttpExceptionHandler.Default, setAsDefault: true);
options += opt => opt.Add(HttpExceptionHandler.DefaultBadRequest);
options += opt => opt.Add(HttpExceptionHandler.DefaultNotFound);
}
return services.Configure(options);
}
public static IApplicationBuilder UseGlobalExceptionHandler(this IApplicationBuilder app)
{
app.UseMiddleware<GlobalExceptionHandlerMiddleware>();
return app;
}
}