// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, Seed seeder, IDatingRepository userRepo) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { // setup global exception handler for prodction rnvironment, so we no need to add try catch block in eac contoller method app.UseExceptionHandler(builder => { builder.Run(async context => { context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; var error = context.Features.Get <IExceptionHandlerFeature>(); if (error != null) { // add header to response context.Response.AddApplicationError(error.Error.Message); await context.Response.WriteAsync(error.Error.Message); } }); }); // app.UseHsts(); } // app.UseHttpsRedirection(); // seed user, uncomment for the first run if (userRepo.CountUser().Result == 0) { seeder.SeedUsers(); } // add cors app.UseCors(x => x.AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader()); app.UseAuthentication(); app.UseMvc(); }