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); + } } }