From 7624d97114dcebd97fc9deae26b918c5e2b1ff88 Mon Sep 17 00:00:00 2001 From: John Luo Date: Wed, 23 Dec 2015 15:34:45 -0800 Subject: [PATCH] Adding back middleware initialization with options instance. --- .../DefaultFilesExtensions.cs | 20 +++++++++++++ .../DirectoryBrowserExtensions.cs | 20 +++++++++++++ .../FileServerExtensions.cs | 30 +++++++++++++++++++ .../StaticFileExtensions.cs | 20 +++++++++++++ 4 files changed, 90 insertions(+) diff --git a/src/Microsoft.AspNet.StaticFiles/DefaultFilesExtensions.cs b/src/Microsoft.AspNet.StaticFiles/DefaultFilesExtensions.cs index ec00cd1d8d..89deceb813 100644 --- a/src/Microsoft.AspNet.StaticFiles/DefaultFilesExtensions.cs +++ b/src/Microsoft.AspNet.StaticFiles/DefaultFilesExtensions.cs @@ -65,5 +65,25 @@ namespace Microsoft.AspNet.Builder return app.UseMiddleware(options); } + + /// + /// Enables default file mapping with the given options + /// + /// + /// + /// + public static IApplicationBuilder UseDefaultFiles(this IApplicationBuilder app, DefaultFilesOptions options) + { + if (app == null) + { + throw new ArgumentNullException(nameof(app)); + } + if (options == null) + { + throw new ArgumentNullException(nameof(options)); + } + + return app.UseMiddleware(options); + } } } \ No newline at end of file diff --git a/src/Microsoft.AspNet.StaticFiles/DirectoryBrowserExtensions.cs b/src/Microsoft.AspNet.StaticFiles/DirectoryBrowserExtensions.cs index 438ce7baaf..f1d882725f 100644 --- a/src/Microsoft.AspNet.StaticFiles/DirectoryBrowserExtensions.cs +++ b/src/Microsoft.AspNet.StaticFiles/DirectoryBrowserExtensions.cs @@ -65,5 +65,25 @@ namespace Microsoft.AspNet.Builder return app.UseMiddleware(options); } + + /// + /// Enable directory browsing with the given options + /// + /// + /// + /// + public static IApplicationBuilder UseDirectoryBrowser(this IApplicationBuilder app, DirectoryBrowserOptions options) + { + if (app == null) + { + throw new ArgumentNullException(nameof(app)); + } + if (options == null) + { + throw new ArgumentNullException(nameof(options)); + } + + return app.UseMiddleware(options); + } } } \ No newline at end of file diff --git a/src/Microsoft.AspNet.StaticFiles/FileServerExtensions.cs b/src/Microsoft.AspNet.StaticFiles/FileServerExtensions.cs index d5cd531365..24a1bf6341 100644 --- a/src/Microsoft.AspNet.StaticFiles/FileServerExtensions.cs +++ b/src/Microsoft.AspNet.StaticFiles/FileServerExtensions.cs @@ -97,5 +97,35 @@ namespace Microsoft.AspNet.Builder return app.UseStaticFiles(options => { options = fileServerOptions.StaticFileOptions; }); } + + /// + /// Enable all static file middleware with the given options + /// + /// + /// + /// + public static IApplicationBuilder UseFileServer(this IApplicationBuilder app, FileServerOptions options) + { + if (app == null) + { + throw new ArgumentNullException(nameof(app)); + } + if (options == null) + { + throw new ArgumentNullException(nameof(options)); + } + + if (options.EnableDefaultFiles) + { + app = app.UseDefaultFiles(options.DefaultFilesOptions); + } + + if (options.EnableDirectoryBrowsing) + { + app = app.UseDirectoryBrowser(options.DirectoryBrowserOptions); + } + + return app.UseStaticFiles(options.StaticFileOptions); + } } } \ No newline at end of file diff --git a/src/Microsoft.AspNet.StaticFiles/StaticFileExtensions.cs b/src/Microsoft.AspNet.StaticFiles/StaticFileExtensions.cs index 58b9f77ec8..ff01459e15 100644 --- a/src/Microsoft.AspNet.StaticFiles/StaticFileExtensions.cs +++ b/src/Microsoft.AspNet.StaticFiles/StaticFileExtensions.cs @@ -65,5 +65,25 @@ namespace Microsoft.AspNet.Builder return app.UseMiddleware(options); } + + /// + /// Enables static file serving with the given options + /// + /// + /// + /// + public static IApplicationBuilder UseStaticFiles(this IApplicationBuilder app, StaticFileOptions options) + { + if (app == null) + { + throw new ArgumentNullException(nameof(app)); + } + if (options == null) + { + throw new ArgumentNullException(nameof(options)); + } + + return app.UseMiddleware(options); + } } }