12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- 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<AppSettings>(Configuration.GetSection("Appsettings"));
- services.AddSingleton<LJClientPoolService>();
- services.AddScoped<VersionService>();
- GlobalVar.InitSetting(Configuration.GetSection("Appsettings"));
- services.AddHttpClient();
- services.Configure<FormOptions>(opt => {
- // opt.ValueLengthLimit = 20 * 1024 * 1024;
- // opt.MultipartBodyLengthLimit = 20* 1024 * 1024;
- // opt.MultipartHeadersCountLimit = 5;
- });
- services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
- }
- // 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<LJClientPoolService>(), app.ApplicationServices.GetService<IHttpContextAccessor>()),
- ContentTypeProvider = provider
- });
- }
- }
- }
|