finalize refactoring & ready for the PR

This commit is contained in:
Volodymyr Smirnov
2020-10-26 21:24:40 +02:00
parent 14c9c26979
commit 62cdcdbb49
34 changed files with 229 additions and 164 deletions

View File

@@ -1,12 +1,8 @@
using EasyNetQ;
using MalwareMultiScan.Api.Extensions;
using MalwareMultiScan.Api.Services;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpOverrides;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.OpenApi.Models;
using MongoDB.Driver;
namespace MalwareMultiScan.Api
{
@@ -21,62 +17,24 @@ namespace MalwareMultiScan.Api
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton(x =>
RabbitHutch.CreateBus(_configuration.GetConnectionString("RabbitMQ")));
services.AddDockerForwardedHeadersOptions();
services.AddMongoDb(_configuration);
services.AddRabbitMq(_configuration);
services.AddSingleton<ScanBackendService>();
services.AddSingleton<ScanResultService>();
services.AddSingleton(
serviceProvider =>
{
var db = new MongoClient(_configuration.GetConnectionString("Mongo"));
return db.GetDatabase(
_configuration.GetValue<string>("DatabaseName"));
});
services.AddControllers();
services.AddHttpClient();
services.AddSwaggerGen(options =>
{
options.SwaggerDoc("MalwareMultiScan",
new OpenApiInfo
{
Title = "MalwareMultiScan",
Version = "1.0.0"
});
});
services.AddHostedService<ReceiverHostedService>();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
public void Configure(IApplicationBuilder app)
{
app.UseRouting();
var forwardingOptions = new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
};
forwardingOptions.KnownNetworks.Clear();
forwardingOptions.KnownProxies.Clear();
app.UseForwardedHeaders(forwardingOptions);
app.UseForwardedHeaders();
app.UseEndpoints(endpoints => endpoints.MapControllers());
app.UseSwagger();
app.UseSwaggerUI(options =>
{
options.DocumentTitle = "MalwareMultiScan";
options.SwaggerEndpoint(
$"/swagger/{options.DocumentTitle}/swagger.json", options.DocumentTitle);
});
}
}
}