From 87e4c1414e3572da9aec25addc172f6d847aa6f4 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 19 May 2025 16:45:40 +0200 Subject: [PATCH] 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. --- .../DependencyInjection.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/DigitalData.Core.Exceptions.Middleware/DependencyInjection.cs b/DigitalData.Core.Exceptions.Middleware/DependencyInjection.cs index 945f18f..5c9ea6e 100644 --- a/DigitalData.Core.Exceptions.Middleware/DependencyInjection.cs +++ b/DigitalData.Core.Exceptions.Middleware/DependencyInjection.cs @@ -5,8 +5,16 @@ namespace DigitalData.Core.Exceptions.Middleware; public static class DependencyInjection { - public static IServiceCollection ConfigureGlobalExceptionHandler(this IServiceCollection services, Action options) + public static IServiceCollection ConfigureGlobalExceptionHandler(this IServiceCollection services, Action? 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); }