DrUalcman.Exceptions.Extensions 1.1.5

dotnet add package DrUalcman.Exceptions.Extensions --version 1.1.5                
NuGet\Install-Package DrUalcman.Exceptions.Extensions -Version 1.1.5                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DrUalcman.Exceptions.Extensions" Version="1.1.5" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DrUalcman.Exceptions.Extensions --version 1.1.5                
#r "nuget: DrUalcman.Exceptions.Extensions, 1.1.5"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DrUalcman.Exceptions.Extensions as a Cake Addin
#addin nuget:?package=DrUalcman.Exceptions.Extensions&version=1.1.5

// Install DrUalcman.Exceptions.Extensions as a Cake Tool
#tool nuget:?package=DrUalcman.Exceptions.Extensions&version=1.1.5                

DrUalcman.Exceptions

Manage 3 most common exceptions with a default handler using clean architecture. Can be used in any kind of project. Always return a ProblemDetails following the standart rfc7807.

NuGet installation

PM> Install-Package DrUalcman.Exceptions

How to use

PM> IExceptionHandler<ExceptionType> Implement interface in the handlers for the exception. Then inject in the ServiceContainer services.AddSingleton<IExceptionPresenter, ExceptionPresenter>();

Extensions

PM> Install-Package DrUalcman.Exceptions.Extensions Also can add DrUalcman.Exception.Extension. This DLL only have a dependecy containder extension method to simplify the injection. services.AddExceptionsHandlerPresenter() or services.AddExceptionsHandlerPresenter([Assembly])

HttpResponseMessage

We have now a estension method for HttpResponseMessage, return a ProblemDetailsException to ensure have this exception fromated returned.

using HttpResponseMessage response = HttpCliente.GetAsync("endpoint");
response.EnsureSuccessCode();
return response;

This return a ProblemDetailException if the transaction is not Success. If the conent response is formated with a ProblemDetail parse correctly all the data.

MiddleWare

PM> Install-Package DrUalcman.Exceptions.MiddleWare Also can add DrUalcman.Exceptions.MiddleWare. This DLL have the methods to add like a MiddleWare.

/// when build
builder.Services.AddExceptionsHandlerPresenter(ExceptionHandlersAssemblyHelper.Assembly);
/// before run
app.UseExceptionHandler(builder =>
                builder.UseExceptionHandlerPresenter(
                    app.Environment,
                    app.Services.GetService<IExceptionPresenter>()));

ExceptionView for Blazor

PM> Install-Package DrUalcman.Exceptions.BlazorWebAssembly.View Basic

<ExceptionView>
    @Body
</ExceptionView>  

Personalize text button

<ExceptionView ButtonText="<span class='oi oi-home'></span> OK">
    @Body
</ExceptionView>  
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DrUalcman.Exceptions.Extensions:

Package Downloads
DrUalcman.Exceptions.MiddleWare

Add easy a middleware to DrUalcman.Exceptions

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.5 771 7/26/2023
1.0.8 461 7/8/2022
1.0.7 534 7/8/2022
1.0.6 437 4/30/2022
1.0.5 548 3/19/2022
1.0.4 560 2/18/2022
1.0.3 444 1/20/2022
1.0.2 302 1/9/2022
1.0.1 329 1/1/2022
1.0.0 274 1/1/2022

Update nugget last version.