RequestIdentifierMiddleware Class
Definition
- Namespace
- Cuemon.AspNetCore.Http.Headers
- Assemblies
- Cuemon.AspNetCore.dll
Provides a Request ID middleware implementation for ASP.NET Core.
public class RequestIdentifierMiddleware : ConfigurableMiddleware<RequestIdentifierOptions>, IConfigurable<RequestIdentifierOptions>
- Inheritance
-
RequestIdentifierMiddleware
- Implements
- Inherited Members
Examples
The following example demonstrates how to register the in the ASP.NET Core pipeline to add a unique Request-ID header to every response.
using System;
using System.Threading.Tasks;
using Cuemon.Messaging;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Options;
namespace Cuemon.AspNetCore.Http.Headers;
public static class RequestIdentifierMiddlewareExample
{
public static async Task DemonstrateAsync()
{
var context = new DefaultHttpContext();
var options = Options.Create(new RequestIdentifierOptions
{
Token = new RequestToken("req-42")
});
var middleware = new RequestIdentifierMiddleware(
httpContext => httpContext.Response.WriteAsync("Hello"),
options);
await middleware.InvokeAsync(context);
Console.WriteLine(context.Response.Headers[options.Value.HeaderName].ToString());
}
}
Constructors
| Name | Description |
|---|---|
| RequestIdentifierMiddleware(RequestDelegate, IOptions<RequestIdentifierOptions>) | Initializes a new instance of the RequestIdentifierMiddleware class. |
| RequestIdentifierMiddleware(RequestDelegate, Action<RequestIdentifierOptions>) | Initializes a new instance of the RequestIdentifierMiddleware class. |
Fields
| Name | Description |
|---|---|
| HttpContextItemsKey | The key from where the Request ID is stored throughout the request scope. |
Methods
| Name | Description |
|---|---|
| InvokeAsync(HttpContext) | Executes the RequestIdentifierMiddleware. |