// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, Microsoft.AspNetCore.Hosting.IWebHostEnvironment env) { bool useSsl = Helpers.GetLogicalSetting("useSsl", Configuration); bool showUrls = Helpers.GetLogicalSetting("ShowUrls", Configuration); bool openBrowser = Helpers.GetLogicalSetting("OpenBrowser", Configuration); string defaultFiles = Configuration["DefaultFiles"]; if (string.IsNullOrEmpty(defaultFiles)) defaultFiles = "index.html,default.htm,default.html"; var strPort = Configuration["Port"]; if (!int.TryParse(strPort, out Port)) Port = 5000; if (UseLiveReload) app.UseLiveReload(); ////if (env.IsDevelopment()) //// app.UseDeveloperExceptionPage(); ////else app.UseExceptionHandler("/Error"); if (showUrls) { app.Use(async (context, next) => { var url = $"{context.Request.Method} {context.Request.Scheme}://{context.Request.Host} {context.Request.Path}{context.Request.QueryString}"; Console.WriteLine(url); await next(); }); } app.UseDefaultFiles(new DefaultFilesOptions { FileProvider = new PhysicalFileProvider(WebRoot), DefaultFileNames = new List<string>(defaultFiles.Split(',', ';')) }); app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(WebRoot), RequestPath = new PathString("") }); #if USE_RAZORPAGES if (UseRazor) { app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); }); } #endif var url = $"http{(useSsl ? "s" : "")}://localhost:{Port}"; var extensions = Configuration["Extensions"]; string headerLine = new string('-', Helpers.AppHeader.Length); Console.WriteLine(headerLine); Console.WriteLine(Helpers.AppHeader); Console.WriteLine(headerLine); Console.WriteLine($"(c) West Wind Technologies, 2018-{DateTime.Now.Year}\r\n"); Console.Write($"Site Url : "); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(url); Console.ResetColor(); Console.WriteLine($"Web Root : {WebRoot}"); Console.WriteLine( $"Extensions : {(string.IsNullOrEmpty(extensions) ? $"{(UseRazor ? ".cshtml," : "")}.css,.js,.htm,.html,.ts" : extensions)}"); Console.WriteLine($"Live Reload : {UseLiveReload}"); #if USE_RAZORPAGES Console.WriteLine($"Use Razor : {UseRazor}"); #endif Console.WriteLine($"Show Urls : {showUrls}"); Console.WriteLine($"Open Browser : {openBrowser}"); Console.WriteLine($"Default Pages: {defaultFiles}"); Console.WriteLine($"Environment : {env.EnvironmentName}"); Console.WriteLine(); Console.WriteLine($"'{Helpers.ExeName} --help' for start options..."); Console.WriteLine(); Console.WriteLine("Ctrl-C or Ctrl-Break to exit..."); Console.WriteLine("----------------------------------------------"); var oldColor = Console.ForegroundColor; foreach (var assmbly in LoadedPrivateAssemblies) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Additional Assembly: " + assmbly); } foreach (var assmbly in FailedPrivateAssemblies) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Failed Additional Assembly: " + assmbly); } Console.ForegroundColor = oldColor; if (openBrowser) Helpers.OpenUrl(url); }