diff --git a/Source/Boxed.AspNetCore/Middleware/HttpExceptionMiddleware.cs b/Source/Boxed.AspNetCore/Middleware/HttpExceptionMiddleware.cs
index a0befbf3..fcc226ef 100644
--- a/Source/Boxed.AspNetCore/Middleware/HttpExceptionMiddleware.cs
+++ b/Source/Boxed.AspNetCore/Middleware/HttpExceptionMiddleware.cs
@@ -11,26 +11,34 @@ namespace Boxed.AspNetCore.Middleware;
/// The handling middleware.
///
///
-public class HttpExceptionMiddleware : IMiddleware
+public class HttpExceptionMiddleware
{
+ private readonly RequestDelegate next;
private readonly HttpExceptionMiddlewareOptions options;
///
/// Initializes a new instance of the class.
///
+ /// The next middleware.
/// The options.
- public HttpExceptionMiddleware(HttpExceptionMiddlewareOptions options) =>
+ public HttpExceptionMiddleware(RequestDelegate next, HttpExceptionMiddlewareOptions options)
+ {
+ this.next = next;
this.options = options;
+ }
- ///
- public async Task InvokeAsync(HttpContext context, RequestDelegate next)
+ ///
+ /// Request handling method.
+ ///
+ /// The for the current request.
+ /// A that represents the execution of this middleware.
+ public async Task InvokeAsync(HttpContext context)
{
ArgumentNullException.ThrowIfNull(context);
- ArgumentNullException.ThrowIfNull(next);
try
{
- await next.Invoke(context).ConfigureAwait(false);
+ await this.next.Invoke(context).ConfigureAwait(false);
}
catch (HttpException httpException)
{
diff --git a/Source/Boxed.AspNetCore/Middleware/RequestCanceledMiddleware.cs b/Source/Boxed.AspNetCore/Middleware/RequestCanceledMiddleware.cs
index 02d43f9d..0d52b3e8 100644
--- a/Source/Boxed.AspNetCore/Middleware/RequestCanceledMiddleware.cs
+++ b/Source/Boxed.AspNetCore/Middleware/RequestCanceledMiddleware.cs
@@ -10,33 +10,40 @@ namespace Boxed.AspNetCore.Middleware;
/// shortcuts and returns an error status code.
///
///
-public class RequestCanceledMiddleware : IMiddleware
+public class RequestCanceledMiddleware
{
private readonly ILogger logger;
+ private readonly RequestDelegate next;
private readonly RequestCanceledMiddlewareOptions options;
///
/// Initializes a new instance of the class.
///
+ /// The next middleware.
/// The middleware options.
/// A logger.
public RequestCanceledMiddleware(
+ RequestDelegate next,
RequestCanceledMiddlewareOptions options,
ILogger logger)
{
+ this.next = next;
this.options = options;
this.logger = logger;
}
- ///
- public async Task InvokeAsync(HttpContext context, RequestDelegate next)
+ ///
+ /// Request handling method.
+ ///
+ /// The for the current request.
+ /// A that represents the execution of this middleware.
+ public async Task InvokeAsync(HttpContext context)
{
ArgumentNullException.ThrowIfNull(context);
- ArgumentNullException.ThrowIfNull(next);
try
{
- await next(context).ConfigureAwait(false);
+ await this.next(context).ConfigureAwait(false);
}
catch (OperationCanceledException operationCanceledException)
when (operationCanceledException.CancellationToken == context.RequestAborted)
diff --git a/Tests/Boxed.AspNetCore.Test/Middleware/RequestCanceledMiddlewareTest.cs b/Tests/Boxed.AspNetCore.Test/Middleware/RequestCanceledMiddlewareTest.cs
index 2ba44676..636a4e1e 100644
--- a/Tests/Boxed.AspNetCore.Test/Middleware/RequestCanceledMiddlewareTest.cs
+++ b/Tests/Boxed.AspNetCore.Test/Middleware/RequestCanceledMiddlewareTest.cs
@@ -32,9 +32,10 @@ public void InvokeAsync_NullNext_ThrowsArgumentNullException() =>
public async Task InvokeAsync_RequestNotCanceled_RunsNextMiddlewareAsync()
{
await new RequestCanceledMiddleware(
+ this.next,
new RequestCanceledMiddlewareOptions(),
new Mock>().Object)
- .InvokeAsync(this.context, this.next)
+ .InvokeAsync(this.context)
.ConfigureAwait(false);
Assert.Equal(200, this.context.Response.StatusCode);
@@ -52,9 +53,10 @@ public async Task InvokeAsync_OperationCanceledExceptionThrownNotCanceled_RunsNe
await Assert
.ThrowsAsync(() =>
new RequestCanceledMiddleware(
+ this.next,
new RequestCanceledMiddlewareOptions(),
new Mock>().Object)
- .InvokeAsync(this.context, this.next))
+ .InvokeAsync(this.context))
.ConfigureAwait(false);
}
@@ -67,9 +69,10 @@ public async Task InvokeAsync_RequestCanceled_Returns499ClientClosedRequestAsync
this.next = x => Task.FromCanceled(cancellationTokenSource.Token);
await new RequestCanceledMiddleware(
+ this.next,
new RequestCanceledMiddlewareOptions(),
new Mock>().Object)
- .InvokeAsync(this.context, this.next)
+ .InvokeAsync(this.context)
.ConfigureAwait(false);
Assert.Equal(RequestCanceledMiddlewareOptions.ClientClosedRequest, this.context.Response.StatusCode);