private TestServer GetServer(DefaultExtensionsOptions options) => new TestServer( new WebHostBuilder() .Configure(app => { IFileProvider embeddedFileProvider = new ManifestEmbeddedFileProvider(AssemblyHelper.TestAssembly, "wwwroot"); IWebHostEnvironment host = app.ApplicationServices.GetService <IWebHostEnvironment>(); host.WebRootFileProvider = embeddedFileProvider; app .UseDefaultExtensions(options) .UseStaticFiles(new StaticFileOptions { RequestPath = PathString.Empty, FileProvider = embeddedFileProvider, ServeUnknownFileTypes = true }); }));
public DefaultExtensionsMiddleware(RequestDelegate next, IWebHostEnvironment hostingEnv, IOptions <DefaultExtensionsOptions> options, ILoggerFactory loggerFactory) { if (hostingEnv == null) { throw new ArgumentNullException(nameof(hostingEnv)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } _next = next ?? throw new ArgumentNullException(nameof(next)); _fileProvider = hostingEnv.WebRootFileProvider; _options = options.Value; _logger = loggerFactory.CreateLogger <DefaultExtensionsMiddleware>(); }
public static IApplicationBuilder UseDefaultExtensions(this IApplicationBuilder app, DefaultExtensionsOptions options) { if (app == null) { throw new ArgumentNullException(nameof(app)); } return(app.UseMiddleware <DefaultExtensionsMiddleware>(Options.Create(options))); }