Table of Contents

RequestIdentifierMiddleware Class

Definition

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.