public static void UseExceptionConverters(this IApplicationBuilder app, ExceptionConverters options = null) { if (options == null) { options = new ExceptionConverters(); } var loggerFactory = app.ApplicationServices.GetService(typeof(ILoggerFactory)); Assert.State(loggerFactory, nameof(loggerFactory)).NotNull("Cannot find ILoggerFactory"); app.UseMiddleware <ExceptionConverterMiddleware>(options, loggerFactory); }
public ExceptionConverterMiddleware(RequestDelegate next, ExceptionConverters converters, ILoggerFactory loggerFactory) { Assert.Argument(next, nameof(next)).NotNull(); Assert.Argument(loggerFactory, nameof(loggerFactory)).NotNull(); _next = next; _logger = loggerFactory.CreateLogger(nameof(ExceptionConverterMiddleware)); foreach (var kv in converters.Converters) { _converters.Add(kv.Key, kv.Value); } }