public static IApplicationBuilder UseDieScheite(this IApplicationBuilder app, DieScheiteAspNetCoreSettings settings)
        {
            var s = DieScheiteAspNetCoreSettings.Default(settings);

            return(app
                   .UseMiddleware <DieScheiteMiddleware>(s)
                   .UseMiddleware <DieScheiteAdditionalDataMiddleware>(s));
        }
 public DieScheiteAdditionalDataMiddleware(
     RequestDelegate next,
     DieScheiteAspNetCoreSettings settings)
 {
     _next = next;
     _shouldLogRequestBody = settings.ShouldLogRequestBody;
     _censoredHeaders      = new HashSet <string>(settings.CensoredHeaders);
 }
 public static DieScheiteAspNetCoreSettings Default(DieScheiteAspNetCoreSettings s) => new DieScheiteAspNetCoreSettings
 {
     IgnoreRoutes         = s?.IgnoreRoutes ?? DefaultIgnoreRoutes,
     CensoredHeaders      = s?.CensoredHeaders ?? DefaultCensoredHeaders,
     ShouldLogRequestBody = s?.ShouldLogRequestBody ?? LogRequestOnServerError
 };
 public DieScheiteMiddleware(RequestDelegate next, DieScheiteAspNetCoreSettings settings)
 {
     _next         = next;
     _ignoreRoutes = new HashSet <string>(settings.IgnoreRoutes);
 }