mirror of
				https://github.com/Kareadita/Kavita.git
				synced 2025-10-31 02:27:04 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using API.Extensions;
 | |
| using API.Middleware;
 | |
| using Hangfire;
 | |
| using Microsoft.AspNetCore.Builder;
 | |
| using Microsoft.AspNetCore.Hosting;
 | |
| using Microsoft.Extensions.Configuration;
 | |
| using Microsoft.Extensions.DependencyInjection;
 | |
| using Microsoft.Extensions.Hosting;
 | |
| using Microsoft.OpenApi.Models;
 | |
| 
 | |
| namespace API
 | |
| {
 | |
|     public class Startup
 | |
|     {
 | |
|         private readonly IConfiguration _config;
 | |
| 
 | |
|         public Startup(IConfiguration config)
 | |
|         {
 | |
|             _config = config;
 | |
|         }
 | |
| 
 | |
|         // This method gets called by the runtime. Use this method to add services to the container.
 | |
|         public void ConfigureServices(IServiceCollection services)
 | |
|         {
 | |
| 
 | |
|             services.AddApplicationServices(_config);
 | |
|             services.AddControllers();
 | |
|             services.AddCors();
 | |
|             services.AddIdentityServices(_config);
 | |
|             services.AddSwaggerGen(c =>
 | |
|             {
 | |
|                 c.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" });
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
 | |
|         public void Configure(IApplicationBuilder app, IBackgroundJobClient backgroundJobs, IWebHostEnvironment env)
 | |
|         {
 | |
|             app.UseMiddleware<ExceptionMiddleware>();
 | |
|             
 | |
|             if (env.IsDevelopment())
 | |
|             {
 | |
|                 app.UseSwagger();
 | |
|                 app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "API v1"));
 | |
|                 app.UseHangfireDashboard();
 | |
|             }
 | |
| 
 | |
|             //app.UseHttpsRedirection();
 | |
| 
 | |
|             app.UseRouting();
 | |
|             
 | |
|             // Ordering is important. Cors, authentication, authorization
 | |
|             app.UseCors(policy => policy.AllowAnyHeader().AllowAnyMethod().WithOrigins("http://localhost:4200"));
 | |
| 
 | |
|             app.UseAuthentication();
 | |
| 
 | |
|             app.UseAuthorization();
 | |
| 
 | |
|             app.UseDefaultFiles();
 | |
|             app.UseStaticFiles();
 | |
| 
 | |
|             app.UseEndpoints(endpoints =>
 | |
|             {
 | |
|                 endpoints.MapControllers();
 | |
|                 endpoints.MapHangfireDashboard();
 | |
|                 endpoints.MapFallbackToController("Index", "Fallback");
 | |
|             });
 | |
|         }
 | |
|     }
 | |
| }
 |