diff --git a/src/Utils/Masa.Utils.Exceptions/Extensions/ApplicationBuilderExtensions.cs b/src/Utils/Masa.Utils.Exceptions/Extensions/ApplicationBuilderExtensions.cs index 54e78d887..bf06c46a2 100644 --- a/src/Utils/Masa.Utils.Exceptions/Extensions/ApplicationBuilderExtensions.cs +++ b/src/Utils/Masa.Utils.Exceptions/Extensions/ApplicationBuilderExtensions.cs @@ -1,8 +1,6 @@ // Copyright (c) MASA Stack All rights reserved. // Licensed under the MIT License. See LICENSE.txt in the project root for license information. -using Masa.Utils.Exceptions.Handlers; - namespace Microsoft.AspNetCore.Builder; public static class ApplicationBuilderExtensions diff --git a/src/Utils/Masa.Utils.Exceptions/Handlers/ExceptionHandlerMiddleware.cs b/src/Utils/Masa.Utils.Exceptions/Handlers/ExceptionHandlerMiddleware.cs index 14a133503..c5128e71b 100644 --- a/src/Utils/Masa.Utils.Exceptions/Handlers/ExceptionHandlerMiddleware.cs +++ b/src/Utils/Masa.Utils.Exceptions/Handlers/ExceptionHandlerMiddleware.cs @@ -1,7 +1,7 @@ // Copyright (c) MASA Stack All rights reserved. // Licensed under the MIT License. See LICENSE.txt in the project root for license information. -namespace Masa.Utils.Exceptions.Handlers; +namespace Microsoft.AspNetCore.Builder; public class ExceptionHandlerMiddleware { @@ -20,7 +20,10 @@ public ExceptionHandlerMiddleware( { _next = next; _options = options.Value; - _masaExceptionHandler = ExceptionHandlerExtensions.GetMasaExceptionHandler(serviceProvider, _options.MasaExceptionHandlerType); + _masaExceptionHandler = + Masa.Utils.Exceptions.Internal.ExceptionHandlerExtensions.GetMasaExceptionHandler( + serviceProvider, + _options.MasaExceptionHandlerType); _logRelationOptions = logRelationOptions.Value; _logger = logger; } diff --git a/src/Utils/Masa.Utils.Exceptions/Handlers/ExceptionHandlingMiddleware.cs b/src/Utils/Masa.Utils.Exceptions/Handlers/ExceptionHandlingMiddleware.cs index d5ef315a7..413a75c3f 100644 --- a/src/Utils/Masa.Utils.Exceptions/Handlers/ExceptionHandlingMiddleware.cs +++ b/src/Utils/Masa.Utils.Exceptions/Handlers/ExceptionHandlingMiddleware.cs @@ -1,7 +1,7 @@ // Copyright (c) MASA Stack All rights reserved. // Licensed under the MIT License. See LICENSE.txt in the project root for license information. -namespace Masa.Utils.Exceptions.Handlers; +namespace Microsoft.AspNetCore.Builder; public class ExceptionHandlingMiddleware { diff --git a/src/Utils/Masa.Utils.Exceptions/Handlers/GlobalExceptionFilter.cs b/src/Utils/Masa.Utils.Exceptions/Handlers/GlobalExceptionFilter.cs index c24e03139..1ce2b25b2 100644 --- a/src/Utils/Masa.Utils.Exceptions/Handlers/GlobalExceptionFilter.cs +++ b/src/Utils/Masa.Utils.Exceptions/Handlers/GlobalExceptionFilter.cs @@ -1,7 +1,7 @@ // Copyright (c) MASA Stack All rights reserved. // Licensed under the MIT License. See LICENSE.txt in the project root for license information. -namespace Masa.Utils.Exceptions.Handlers; +namespace Microsoft.AspNetCore.Mvc.Filters; /// /// Mvc pipeline exception filter to catch global exception diff --git a/src/Utils/Masa.Utils.Exceptions/IMasaExceptionHandler.cs b/src/Utils/Masa.Utils.Exceptions/IMasaExceptionHandler.cs index 0b9d57ebc..173753b75 100644 --- a/src/Utils/Masa.Utils.Exceptions/IMasaExceptionHandler.cs +++ b/src/Utils/Masa.Utils.Exceptions/IMasaExceptionHandler.cs @@ -1,7 +1,7 @@ // Copyright (c) MASA Stack All rights reserved. // Licensed under the MIT License. See LICENSE.txt in the project root for license information. -namespace Masa.Utils.Exceptions; +namespace System; public interface IMasaExceptionHandler { diff --git a/src/Utils/Masa.Utils.Exceptions/MasaException.cs b/src/Utils/Masa.Utils.Exceptions/MasaException.cs index c7f0135c1..a824f4b26 100644 --- a/src/Utils/Masa.Utils.Exceptions/MasaException.cs +++ b/src/Utils/Masa.Utils.Exceptions/MasaException.cs @@ -7,6 +7,8 @@ public class MasaException : Exception { public string? ErrorCode { get; set; } + public object[] Parameters { get; set; } + public MasaException() { } @@ -16,7 +18,19 @@ public MasaException(string message) { } - public MasaException(string message, Exception innerException) + public MasaException(string errorCode, params object[] parameters) + : this(null, errorCode, parameters) + { + } + + public MasaException(Exception? innerException, string errorCode, params object[] parameters) + : base(null, innerException) + { + ErrorCode = errorCode; + Parameters = parameters; + } + + public MasaException(string message, Exception? innerException) : base(message, innerException) { } diff --git a/src/Utils/Masa.Utils.Exceptions/Options/MasaExceptionHandlerOptions.cs b/src/Utils/Masa.Utils.Exceptions/Options/MasaExceptionHandlerOptions.cs index 33179c4ec..7f75056d0 100644 --- a/src/Utils/Masa.Utils.Exceptions/Options/MasaExceptionHandlerOptions.cs +++ b/src/Utils/Masa.Utils.Exceptions/Options/MasaExceptionHandlerOptions.cs @@ -1,7 +1,7 @@ // Copyright (c) MASA Stack All rights reserved. // Licensed under the MIT License. See LICENSE.txt in the project root for license information. -namespace Masa.Utils.Exceptions; +namespace System; public class MasaExceptionHandlerOptions { diff --git a/src/Utils/Masa.Utils.Exceptions/Options/MasaExceptionHandlingOptions.cs b/src/Utils/Masa.Utils.Exceptions/Options/MasaExceptionHandlingOptions.cs index aab8c08cc..b5c69e4c7 100644 --- a/src/Utils/Masa.Utils.Exceptions/Options/MasaExceptionHandlingOptions.cs +++ b/src/Utils/Masa.Utils.Exceptions/Options/MasaExceptionHandlingOptions.cs @@ -1,7 +1,7 @@ // Copyright (c) MASA Stack All rights reserved. // Licensed under the MIT License. See LICENSE.txt in the project root for license information. -namespace Masa.Utils.Exceptions; +namespace System; public class MasaExceptionHandlingOptions { diff --git a/src/Utils/Masa.Utils.Exceptions/UserFriendlyException.cs b/src/Utils/Masa.Utils.Exceptions/UserFriendlyException.cs index 5c2ba7787..405ec19b6 100644 --- a/src/Utils/Masa.Utils.Exceptions/UserFriendlyException.cs +++ b/src/Utils/Masa.Utils.Exceptions/UserFriendlyException.cs @@ -9,4 +9,19 @@ public UserFriendlyException(string message) : base(message) { } + + public UserFriendlyException(string message, Exception? innerException) + : base(message, innerException) + { + } + + public UserFriendlyException(string errorCode, params object[] parameters) + : base(errorCode, parameters) + { + } + + public UserFriendlyException(Exception? innerException, string errorCode, params object[] parameters) + : base(innerException, errorCode, parameters) + { + } } diff --git a/src/Utils/Masa.Utils.Exceptions/_Imports.cs b/src/Utils/Masa.Utils.Exceptions/_Imports.cs index 0f98ed432..7a9a63029 100644 --- a/src/Utils/Masa.Utils.Exceptions/_Imports.cs +++ b/src/Utils/Masa.Utils.Exceptions/_Imports.cs @@ -2,7 +2,6 @@ // Licensed under the MIT License. See LICENSE.txt in the project root for license information. global using Masa.Utils.Exceptions; -global using Masa.Utils.Exceptions.Handlers; global using Masa.Utils.Exceptions.Internal; global using Microsoft.AspNetCore.Http; global using Microsoft.AspNetCore.Mvc;