public static IApplicationBuilder UseRequestErrorHandling( this IApplicationBuilder app, Action <RequestErrorHandlingOptions> configureOptions = null) { var requestLoggingOptions = new RequestErrorHandlingOptions(); configureOptions?.Invoke(requestLoggingOptions); if (requestLoggingOptions.MessageTemplateForNotResolvedAction == null) { throw new ArgumentException("MessageTemplateForNotResolvedAction cannot be null."); } if (requestLoggingOptions.MessageTemplateForResolvedActionWithSuccessResult == null) { throw new ArgumentException("MessageTemplateForResolvedActionWithSuccessResult cannot be null."); } if (requestLoggingOptions.MessageTemplateForResolvedActionWithFailedResult == null) { throw new ArgumentException("MessageTemplateForResolvedActionWithFailedResult cannot be null."); } if (requestLoggingOptions.GetLogLevel == null) { throw new ArgumentException("GetLogLevel cannot be null."); } return(app.UseMiddleware <RequestErrorHandlingMiddleware>(requestLoggingOptions)); }
public RequestErrorHandlingMiddleware(RequestDelegate next, RequestErrorHandlingOptions options, ILogger <RequestErrorHandlingMiddleware> logger) { _next = next; _options = options; _logger = logger; }