public FileServerOptions(string pathString, string fileSystem, bool enableDirectoryBrowsing) { _options = new Microsoft.Owin.StaticFiles.FileServerOptions(); _options.RequestPath = string.IsNullOrEmpty(pathString) ? PathString.Empty : new PathString(pathString); _options.FileSystem = new PhysicalFileSystem(fileSystem); _options.EnableDirectoryBrowsing = enableDirectoryBrowsing; }
public void Configuration(IAppBuilder app) { app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); var options = new Microsoft.Owin.StaticFiles.FileServerOptions { EnableDefaultFiles = true }; options.DefaultFilesOptions.DefaultFileNames = new List <string> { "index.html" }; app.UseFileServer(options); app.Use(HealthCheck); app.UseAudio(); }
public void Configuration(IAppBuilder app) { string url = null; if (bool.Parse (System.Configuration.ConfigurationManager.AppSettings ["is_environment_based"])) { url = System.Environment.GetEnvironmentVariable ("web_site_url"); } else { url = System.Configuration.ConfigurationManager.AppSettings["web_site_url"]; } #if DEBUG app.UseErrorPage(); #endif //app.UseWelcomePage("/"); // Configure Web API for self-host. HttpConfiguration config = new HttpConfiguration(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); /* config.Routes.MapHttpRoute( name: "DynamicApi", routeTemplate: "api-docs/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); */ config.Formatters.Clear(); config.Formatters.Add(new System.Net.Http.Formatting.JsonMediaTypeFormatter()); config.Formatters.JsonFormatter.SerializerSettings = new Newtonsoft.Json.JsonSerializerSettings { ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver()//, //NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore }; //https://github.com/NSwag/NSwag/wiki/Middlewares //app.UseSwaggerUi(typeof(Startup).Assembly, new SwaggerUiOwinSettings()); //app.UseWebApi(config); config .EnableSwagger("docs/{apiVersion}/swagger", c => { c.SingleApiVersion("v1", "MMRIA data API"); c.RootUrl(req => req.RequestUri.GetLeftPart(UriPartial.Authority) + req.GetRequestContext().VirtualPathRoot.TrimEnd('/')); c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First()); //c.DocumentFilter<mmria.server.swashbuckle.Document_Filter>(); }) .EnableSwaggerUi("sandbox/{*assetPath}"); /* config .EnableSwagger(c => { //c.RootUrl(req => url); c.RootUrl(req => req.RequestUri.GetLeftPart(UriPartial.Authority) + req.GetRequestContext().VirtualPathRoot.TrimEnd('/')); c.Schemes(new[] { "http", "https" }); c.SingleApiVersion("v1", "Swashbuckle.Dummy") .Description("A sample API for testing and prototyping Swashbuckle features") .TermsOfService("Some terms") .Contact(cc => cc .Name("Some contact") .Url("http://tempuri.org/contact") .Email("*****@*****.**")) .License(lc => lc .Name("Some License") .Url("http://tempuri.org/license")); }) .EnableSwaggerUi("sandbox/{*assetPath}");*/ app.UseWebApi(config); // //app.UseSwagger(); string root = null; if (bool.Parse (System.Configuration.ConfigurationManager.AppSettings ["is_environment_based"])) { root = System.Environment.GetEnvironmentVariable("file_root_folder"); } else { root = System.Configuration.ConfigurationManager.AppSettings["file_root_folder"]; } var fileSystem = new Microsoft.Owin.FileSystems.PhysicalFileSystem(root); var options = new Microsoft.Owin.StaticFiles.FileServerOptions() { EnableDirectoryBrowsing = true, EnableDefaultFiles = true, DefaultFilesOptions = { DefaultFileNames = {"index.html"}}, FileSystem = fileSystem, StaticFileOptions = { ContentTypeProvider = new CustomContentTypeProvider() } }; app.UseFileServer (options); }