diff --git a/.github/workflows/template-build-test-project.yml b/.github/workflows/template-build-test-project.yml
index 53300e9..256b3c5 100644
--- a/.github/workflows/template-build-test-project.yml
+++ b/.github/workflows/template-build-test-project.yml
@@ -30,14 +30,13 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- dotnet-target-framework: ["net6.0", "net7.0", "net8.0"]
+ dotnet-target-framework: ["net8.0", "net9.0"]
include:
- - dotnet-install-framework: 6.0.x
- dotnet-target-framework: net6.0
- - dotnet-install-framework: 7.0.x
- dotnet-target-framework: net7.0
- dotnet-install-framework: 8.0.x
dotnet-target-framework: net8.0
+
+ - dotnet-install-framework: 9.0.x
+ dotnet-target-framework: net9.0
env:
source-directory: ${{ inputs.source-directory }}
source-project: ${{ inputs.source-project }}
diff --git a/.github/workflows/template-build-test-solution.yml b/.github/workflows/template-build-test-solution.yml
index 6c9f83d..5282f67 100644
--- a/.github/workflows/template-build-test-solution.yml
+++ b/.github/workflows/template-build-test-solution.yml
@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
env:
- dotnet-install-framework: 8.0.x
+ dotnet-install-framework: 9.0.x
defaults:
run:
diff --git a/Directory.Build.props b/Directory.Build.props
index 1444376..0f3f28c 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -3,6 +3,7 @@
true
true
+ preview
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 1a0f656..ca56277 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -6,37 +6,29 @@
+
+
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
diff --git a/samples/Directory.Packages.props b/samples/Directory.Packages.props
index 41679ce..66dae7b 100644
--- a/samples/Directory.Packages.props
+++ b/samples/Directory.Packages.props
@@ -5,22 +5,21 @@
-
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
diff --git a/samples/MiddlewareSample/MiddlewareSample.Api.Test/MiddlewareSample.Api.Test.csproj b/samples/MiddlewareSample/MiddlewareSample.Api.Test/MiddlewareSample.Api.Test.csproj
index d8960ba..1f7066e 100644
--- a/samples/MiddlewareSample/MiddlewareSample.Api.Test/MiddlewareSample.Api.Test.csproj
+++ b/samples/MiddlewareSample/MiddlewareSample.Api.Test/MiddlewareSample.Api.Test.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net9.0
false
true
diff --git a/samples/MiddlewareSample/MiddlewareSample.Api/MiddlewareSample.Api.csproj b/samples/MiddlewareSample/MiddlewareSample.Api/MiddlewareSample.Api.csproj
index 3b0720b..c5a4fa9 100644
--- a/samples/MiddlewareSample/MiddlewareSample.Api/MiddlewareSample.Api.csproj
+++ b/samples/MiddlewareSample/MiddlewareSample.Api/MiddlewareSample.Api.csproj
@@ -1,13 +1,12 @@
- net8.0
+ net9.0
false
-
diff --git a/samples/MiddlewareSample/MiddlewareSample.Api/MiddlewareSample.Api.http b/samples/MiddlewareSample/MiddlewareSample.Api/MiddlewareSample.Api.http
new file mode 100644
index 0000000..ec6425f
--- /dev/null
+++ b/samples/MiddlewareSample/MiddlewareSample.Api/MiddlewareSample.Api.http
@@ -0,0 +1,8 @@
+@baseAddress = https://localhost:7288
+
+GET {{baseAddress}}/ThrowRandomException
+
+###
+
+GET {{baseAddress}}/ThrowCustomClientException?statusCode=400&message=Test%20Exception%20Throw
+
diff --git a/samples/MiddlewareSample/MiddlewareSample.Api/Program.cs b/samples/MiddlewareSample/MiddlewareSample.Api/Program.cs
index e78a9d5..ea2551e 100644
--- a/samples/MiddlewareSample/MiddlewareSample.Api/Program.cs
+++ b/samples/MiddlewareSample/MiddlewareSample.Api/Program.cs
@@ -11,7 +11,7 @@
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.Services.AddEndpointsApiExplorer();
-builder.Services.AddSwaggerGen();
+builder.Services.AddOpenApi();
// Register custom exceptions and status codes
builder.Services
@@ -20,15 +20,14 @@
{
options.CorrelationKey = "X-TestCorrelation-Id";
options.CorrelationKey = CORRELATION_HEADER_KEY;
- options.ConfigureCorrelationValue = (httpContext) => { return httpContext.TraceIdentifier; };
+ options.ConfigureCorrelationValue = (httpContext) => httpContext.TraceIdentifier;
}) // Use this extension for default correlation key/value
.AddException(HttpStatusCode.FailedDependency);
WebApplication app = builder.Build();
-app.UseSwagger();
-app.UseSwaggerUI();
app.UseHttpsRedirection();
+app.MapOpenApi();
// Register Exceptions API Middleware
app.UseExceptionsMiddleware();
diff --git a/samples/MiddlewareSample/MiddlewareSample.Api/Properties/launchSettings.json b/samples/MiddlewareSample/MiddlewareSample.Api/Properties/launchSettings.json
index b6f68fa..bd79831 100644
--- a/samples/MiddlewareSample/MiddlewareSample.Api/Properties/launchSettings.json
+++ b/samples/MiddlewareSample/MiddlewareSample.Api/Properties/launchSettings.json
@@ -1,21 +1,11 @@
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
- "Sample API - Http": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "launchUrl": "swagger",
- "applicationUrl": "http://localhost:5176",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
"Sample API - Https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
- "launchUrl": "swagger",
+ "launchUrl": "openapi/v1.json",
"applicationUrl": "https://localhost:7288;http://localhost:5101",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
diff --git a/src/Middleware/src/ApplicationBuilder/ApplicationBuilderMiddleware.cs b/src/Middleware/src/ApplicationBuilder/ApplicationBuilderMiddleware.cs
index 34b6d1f..7f87448 100644
--- a/src/Middleware/src/ApplicationBuilder/ApplicationBuilderMiddleware.cs
+++ b/src/Middleware/src/ApplicationBuilder/ApplicationBuilderMiddleware.cs
@@ -14,15 +14,8 @@
namespace BlazorFocused.Exceptions.Middleware.ApplicationBuilder;
-internal class ApplicationBuilderMiddleware
+internal class ApplicationBuilderMiddleware(RequestDelegate next)
{
- private readonly RequestDelegate next;
-
- public ApplicationBuilderMiddleware(RequestDelegate next)
- {
- this.next = next;
- }
-
public async Task Invoke(
HttpContext httpContext,
IOptions exceptionsMiddlewareOptions,
diff --git a/src/Middleware/src/BlazorFocused.Exceptions.Middleware.csproj b/src/Middleware/src/BlazorFocused.Exceptions.Middleware.csproj
index 1c6194a..4a2e85d 100644
--- a/src/Middleware/src/BlazorFocused.Exceptions.Middleware.csproj
+++ b/src/Middleware/src/BlazorFocused.Exceptions.Middleware.csproj
@@ -1,7 +1,7 @@
- net6.0;net7.0;net8.0
+ net8.0;net9.0
diff --git a/src/Middleware/src/ExceptionsMiddlewareException.cs b/src/Middleware/src/ExceptionsMiddlewareException.cs
index f1ef614..fabd7b0 100644
--- a/src/Middleware/src/ExceptionsMiddlewareException.cs
+++ b/src/Middleware/src/ExceptionsMiddlewareException.cs
@@ -28,7 +28,7 @@ public abstract class ExceptionsMiddlewareException : Exception
/// Desired status code of a given exception
/// Message that should be logged in case of given exception
/// Passed in "message" will also be output to client/user if "clientErrorMessage" not specified
- public ExceptionsMiddlewareException(HttpStatusCode httpStatusCode, string message) :
+ protected ExceptionsMiddlewareException(HttpStatusCode httpStatusCode, string message) :
base(message)
{
StatusCode = httpStatusCode;
@@ -41,7 +41,7 @@ public ExceptionsMiddlewareException(HttpStatusCode httpStatusCode, string messa
/// Message that should be logged in case of given exception
/// Inner exception that triggered exception response
/// Passed in "message" will also be output to client/user if "clientErrorMessage" not specified
- public ExceptionsMiddlewareException(HttpStatusCode httpStatusCode, string message, Exception innerException) :
+ protected ExceptionsMiddlewareException(HttpStatusCode httpStatusCode, string message, Exception innerException) :
base(message, innerException)
{
StatusCode = httpStatusCode;
diff --git a/src/Middleware/test/BlazorFocused.Exceptions.Middleware.Test.csproj b/src/Middleware/test/BlazorFocused.Exceptions.Middleware.Test.csproj
index 54053b6..7a8d36d 100644
--- a/src/Middleware/test/BlazorFocused.Exceptions.Middleware.Test.csproj
+++ b/src/Middleware/test/BlazorFocused.Exceptions.Middleware.Test.csproj
@@ -1,7 +1,7 @@
- net6.0;net7.0;net8.0
+ net8.0;net9.0
false
true