// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { loggerFactory.AddConsole(ApplicationConfiguration.GetSection("Logging")); // loggerFactory.AddDebug(); // Create default configuration var puConfig = new PenguinUploadConfiguration(); // Bind configuration PUConfiguration.Bind(puConfig); var context = new PenguinUploadContext(puConfig); ClientAppPath = Path.Combine(Directory.GetCurrentDirectory(), ClientAppPath); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions { HotModuleReplacement = true, ProjectPath = ClientAppPath, ConfigFile = $"{ClientAppPath}webpack.config.js" }); } else { app.UseExceptionHandler("/Home/Error"); } // add wwwroot/ app.UseStaticFiles(); // set up Nancy OWIN hosting app.UseOwin(x => x.UseNancy(options => { options.PassThroughWhenStatusCodesAre( HttpStatusCode.NotFound, HttpStatusCode.InternalServerError ); options.Bootstrapper = new PenguinUploadBootstrapper(context); })); // set up MVC fallback app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); routes.MapSpaFallbackRoute( name: "spa-fallback", defaults: new { controller = "Home", action = "Index" }); }); }
public PenguinUploadContext(PenguinUploadConfiguration configuration) { Configuration = configuration; ServiceTable = new UserServiceTable(this); }