/// <summary> /// Creates a new instance of the CorrelationIdMiddleware. /// </summary> /// <param name="next">The next middleware in the pipeline.</param> /// <param name="options">The configuration options.</param> public CorrelationIdMiddleware(RequestDelegate next, IOptions <CorrelationIdOptions> options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } _next = next ?? throw new ArgumentNullException(nameof(next)); _options = options.Value; }
/// <summary> /// Enables correlation IDs for the request /// </summary> /// <param name="app"></param> /// <param name="options"></param> /// <returns></returns> public static IApplicationBuilder UseCorrelationId(this IApplicationBuilder app, CorrelationIdOptions options) { if (app == null) { throw new ArgumentNullException(nameof(app)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } return(app.UseMiddleware <CorrelationIdMiddleware>(Options.Create(options))); }
/// <summary> /// Enables correlation IDs for the request. /// </summary> /// <param name="app"></param> /// <param name="options"></param> /// <returns></returns> public static IApplicationBuilder UseCorrelationId(this IApplicationBuilder app, CorrelationIdOptions options) { if (app == null) { throw new ArgumentNullException(nameof(app)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } if (app.ApplicationServices.GetService(typeof(ICorrelationContextFactory)) == null) { throw new InvalidOperationException("Unable to find the required services. You must call the AddCorrelationId method in ConfigureServices in the application startup code."); } return(app.UseMiddleware <CorrelationIdMiddleware>(Options.Create(options))); }