using System.Diagnostics.CodeAnalysis; using Hangfire; using MalwareMultiScan.Api.Extensions; using MalwareMultiScan.Api.Services; using MalwareMultiScan.Api.Services.Interfaces; using MalwareMultiScan.Shared.Extensions; using MalwareMultiScan.Shared.Services.Interfaces; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; namespace MalwareMultiScan.Api { [ExcludeFromCodeCoverage] internal class Startup { private readonly IConfiguration _configuration; public Startup(IConfiguration configuration) { _configuration = configuration; } public void ConfigureServices(IServiceCollection services) { services.AddDockerForwardedHeadersOptions(); services.AddConsul(_configuration); services.AddMongoDb(_configuration); services.AddHangfire(_configuration); services.AddSingleton(); services.AddSingleton(); services.AddControllers(); services.AddHttpClient(); } public void Configure(IApplicationBuilder app, IHostEnvironment hostEnvironment) { app.UseRouting(); app.UseEndpoints(endpoints => endpoints.MapControllers()); app.UseForwardedHeaders(); if (hostEnvironment.IsDevelopment()) app.UseHangfireDashboard(); } } }