INNER CODE UNIT · C#
CorrelationIdMiddleware
stevejgordon/CorrelationId · src/CorrelationId/CorrelationIdMiddleware.cs:17
public class CorrelationIdMiddleware
{
private readonly RequestDelegate _next;
private readonly ILogger _logger;
private readonly ICorrelationIdProvider _correlationIdProvider;
private readonly CorrelationIdOptions _options;
/// <summary>
/// Creates a new instance of the CorrelationIdMiddleware.
/// </summary>
/// <param name="next">The next middleware in the pipeline.</param>
/// <param name="logger">The <see cref="ILogger"/> instance to log to.</param>
/// <param name="options">The configuration options.</param>
/// <param name="correlationIdProvider"></param>
public CorrelationIdMiddleware(RequestDelegate next, ILogger<CorrelationIdMiddleware> logger, IOptions<CorrelationIdOptions> options, ICorrelationIdProvider correlationIdProvider = null)
{
_next = next ?? throw new ArgumentNullException(nameof(next));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));