using ChrisKaczor.HomeMonitor.Weather.Service.Data; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.ResponseCompression; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System.IO.Compression; namespace ChrisKaczor.HomeMonitor.Weather.Service { public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddTransient(); services.AddHostedService(); services.Configure(options => options.Level = CompressionLevel.Optimal); services.AddResponseCompression(options => { options.Providers.Add(); options.EnableForHttps = true; }); services.AddCors(o => o.AddPolicy("CorsPolicy", builder => builder.AllowAnyMethod().AllowAnyHeader().AllowCredentials().WithOrigins("http://localhost:4200"))); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0); } public void Configure(IApplicationBuilder applicationBuilder, IWebHostEnvironment environment) { if (environment.IsDevelopment()) applicationBuilder.UseDeveloperExceptionPage(); var database = applicationBuilder.ApplicationServices.GetService(); database.EnsureDatabase(); applicationBuilder.UseCors("CorsPolicy"); applicationBuilder.UseResponseCompression(); applicationBuilder.UseRouting(); applicationBuilder.UseEndpoints(endpoints => endpoints.MapDefaultControllerRoute()); } } }