using LJProxy.Providers; using LJProxy.Services; using LJProxy.Settings; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.HttpsPolicy; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.StaticFiles; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace LJProxy { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers().AddNewtonsoftJson(opt => { //opt.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver(); }); services.Configure(Configuration.GetSection("Appsettings")); services.AddSingleton(); services.AddScoped(); GlobalVar.InitSetting(Configuration.GetSection("Appsettings")); services.AddHttpClient(); services.Configure(opt => { // opt.ValueLengthLimit = 20 * 1024 * 1024; // opt.MultipartBodyLengthLimit = 20* 1024 * 1024; // opt.MultipartHeadersCountLimit = 5; }); services.AddSingleton(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); app.UseDefaultFiles(); var provider = new FileExtensionContentTypeProvider(); provider.Mappings[".apk"] = "application/vnd.android.package-archive"; app.UseStaticFiles(new StaticFileOptions { FileProvider = new L1SvrFileProvider(env.ContentRootPath,app.ApplicationServices.GetService(),app.ApplicationServices.GetService()), ContentTypeProvider = provider }); } } }