From 60dc3303efa201ac60554bd5175c73fbecf92a20 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Thu, 14 Jun 2018 08:13:23 -0500 Subject: [PATCH] tidy ConfigureServices() --- .../Extensions/ConfigureServicesCollection.cs | 26 +++++++++++++++- src/FilterLists.Api/Startup.cs | 8 ----- .../Extensions/ConfigureServicesCollection.cs | 30 +++++++++++++++++++ src/FilterLists.Web/Startup.cs | 10 ++----- 4 files changed, 57 insertions(+), 17 deletions(-) create mode 100644 src/FilterLists.Web/DependencyInjection/Extensions/ConfigureServicesCollection.cs diff --git a/src/FilterLists.Api/DependencyInjection/Extensions/ConfigureServicesCollection.cs b/src/FilterLists.Api/DependencyInjection/Extensions/ConfigureServicesCollection.cs index ece152623..fafddc6b2 100644 --- a/src/FilterLists.Api/DependencyInjection/Extensions/ConfigureServicesCollection.cs +++ b/src/FilterLists.Api/DependencyInjection/Extensions/ConfigureServicesCollection.cs @@ -1,6 +1,9 @@ using System; using System.IO; using Microsoft.ApplicationInsights.Extensibility.Implementation; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.PlatformAbstractions; using Swashbuckle.AspNetCore.Swagger; @@ -11,12 +14,33 @@ public static class ConfigureServicesCollection { public static void AddFilterListsApi(this IServiceCollection services) { - services.AddRouting(options => options.LowercaseUrls = true); + services.ConfigureCookiePolicy(); + services.AddMvcCustom(); + services.AddRoutingCustom(); services.AddApiVersioning(); services.AddSwaggerGenCustom(); TelemetryDebugWriter.IsTracingDisabled = true; } + private static void ConfigureCookiePolicy(this IServiceCollection services) + { + services.Configure(options => + { + options.CheckConsentNeeded = context => true; + options.MinimumSameSitePolicy = SameSiteMode.None; + }); + } + + private static void AddMvcCustom(this IServiceCollection services) + { + services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); + } + + private static void AddRoutingCustom(this IServiceCollection services) + { + services.AddRouting(options => options.LowercaseUrls = true); + } + private static void AddSwaggerGenCustom(this IServiceCollection services) { services.AddSwaggerGen(c => diff --git a/src/FilterLists.Api/Startup.cs b/src/FilterLists.Api/Startup.cs index 2658f7e83..2de073bbe 100644 --- a/src/FilterLists.Api/Startup.cs +++ b/src/FilterLists.Api/Startup.cs @@ -6,9 +6,7 @@ using JetBrains.Annotations; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.HttpOverrides; -using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -28,12 +26,6 @@ public Startup(IConfiguration configuration) public void ConfigureServices(IServiceCollection services) { - services.Configure(options => - { - options.CheckConsentNeeded = context => true; - options.MinimumSameSitePolicy = SameSiteMode.None; - }); - services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddFilterListsServices(Configuration); services.AddFilterListsApi(); } diff --git a/src/FilterLists.Web/DependencyInjection/Extensions/ConfigureServicesCollection.cs b/src/FilterLists.Web/DependencyInjection/Extensions/ConfigureServicesCollection.cs new file mode 100644 index 000000000..8a53e5220 --- /dev/null +++ b/src/FilterLists.Web/DependencyInjection/Extensions/ConfigureServicesCollection.cs @@ -0,0 +1,30 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.DependencyInjection; + +namespace FilterLists.Web.DependencyInjection.Extensions +{ + public static class ConfigureServicesCollection + { + public static void AddFilterListsWeb(this IServiceCollection services) + { + services.ConfigureCookiePolicy(); + services.AddMvcCustom(); + } + + private static void ConfigureCookiePolicy(this IServiceCollection services) + { + services.Configure(options => + { + options.CheckConsentNeeded = context => true; + options.MinimumSameSitePolicy = SameSiteMode.None; + }); + } + + private static void AddMvcCustom(this IServiceCollection services) + { + services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); + } + } +} \ No newline at end of file diff --git a/src/FilterLists.Web/Startup.cs b/src/FilterLists.Web/Startup.cs index 254fe446f..2cd204c47 100644 --- a/src/FilterLists.Web/Startup.cs +++ b/src/FilterLists.Web/Startup.cs @@ -1,8 +1,7 @@ +using FilterLists.Web.DependencyInjection.Extensions; using JetBrains.Annotations; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.SpaServices.Webpack; using Microsoft.Extensions.DependencyInjection; @@ -13,12 +12,7 @@ public class Startup { public void ConfigureServices(IServiceCollection services) { - services.Configure(options => - { - options.CheckConsentNeeded = context => true; - options.MinimumSameSitePolicy = SameSiteMode.None; - }); - services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); + services.AddFilterListsWeb(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env)