From 9ed0430a9d2800cb654b673981fd1cee275cacc8 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Fri, 26 Nov 2021 17:01:50 -0600 Subject: [PATCH] =?UTF-8?q?refactor(arc):=20=E2=99=BB=20sync=20some=20conf?= =?UTF-8?q?ig=20from=20dir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FilterLists.Archival.Api/Program.cs | 5 +++ .../SwaggerConfigurationExtensions.cs | 37 +++++++++++-------- .../FilterLists.Archival.Application.csproj | 1 + .../SwaggerConfigurationExtensions.cs | 3 +- 4 files changed, 30 insertions(+), 16 deletions(-) diff --git a/services/Archival/FilterLists.Archival.Api/Program.cs b/services/Archival/FilterLists.Archival.Api/Program.cs index 1717ba104..439e00cd9 100644 --- a/services/Archival/FilterLists.Archival.Api/Program.cs +++ b/services/Archival/FilterLists.Archival.Api/Program.cs @@ -19,5 +19,10 @@ app.UseExceptionHandler(app.Environment.IsDevelopment() ? "/error-local-development" : "/error"); app.UseSwagger(); app.MapControllers(); +app.Use(async (context, next) => +{ + context.Request.PathBase = "/api/archival"; + await next.Invoke(); +}); await app.TryRunWithLoggingAsync(); diff --git a/services/Archival/FilterLists.Archival.Api/SwaggerConfigurationExtensions.cs b/services/Archival/FilterLists.Archival.Api/SwaggerConfigurationExtensions.cs index 31712ea62..0abffcfce 100644 --- a/services/Archival/FilterLists.Archival.Api/SwaggerConfigurationExtensions.cs +++ b/services/Archival/FilterLists.Archival.Api/SwaggerConfigurationExtensions.cs @@ -11,23 +11,30 @@ public static void AddSwaggerGen(this IServiceCollection services) { o.SupportNonNullableReferenceTypes(); - o.SwaggerDoc("v1", new OpenApiInfo - { - Title = "FilterLists Archival API", - Description = - "An ASP.NET Core API archiving and serving copies of FilterLists for mirrors and analysis.", - Version = "v1", - //TermsOfService = "", - Contact = new OpenApiContact { Name = "FilterLists", Url = new Uri("https://filterlists.com") }, - License = new OpenApiLicense + o.SwaggerDoc( + "v1", + new OpenApiInfo { - Name = "MIT License", - Url = new Uri("https://github.com/collinbarrett/FilterLists/blob/master/LICENSE") - } - }); + Title = "FilterLists Archival API", + Description = "An ASP.NET Core API archiving and serving copies of FilterLists for mirrors and analysis.", + Version = "v1", + //TermsOfService = "", + Contact = new OpenApiContact { Name = "FilterLists", Url = new Uri("https://filterlists.com") }, + License = new OpenApiLicense + { + Name = "MIT License", + Url = new Uri("https://github.com/collinbarrett/FilterLists/blob/master/LICENSE") + } + }); - var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; - o.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFile)); + // Swagger UI struggles with lookups of nested types represented by concatenated '+' + o.CustomSchemaIds(t => t.FullName?.Replace("+", ".")); + + var apiXmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; + o.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, apiXmlFile)); + + var applicationXmlFile = $"{typeof(Application.ConfigurationExtensions).Assembly.GetName().Name}.xml"; + o.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, applicationXmlFile)); }); } diff --git a/services/Archival/FilterLists.Archival.Application/FilterLists.Archival.Application.csproj b/services/Archival/FilterLists.Archival.Application/FilterLists.Archival.Application.csproj index 354bdffd2..2193488b4 100644 --- a/services/Archival/FilterLists.Archival.Application/FilterLists.Archival.Application.csproj +++ b/services/Archival/FilterLists.Archival.Application/FilterLists.Archival.Application.csproj @@ -4,6 +4,7 @@ net6.0 enable enable + true diff --git a/services/Directory/FilterLists.Directory.Api/SwaggerConfigurationExtensions.cs b/services/Directory/FilterLists.Directory.Api/SwaggerConfigurationExtensions.cs index 6464af5ab..bec00c75d 100644 --- a/services/Directory/FilterLists.Directory.Api/SwaggerConfigurationExtensions.cs +++ b/services/Directory/FilterLists.Directory.Api/SwaggerConfigurationExtensions.cs @@ -11,7 +11,8 @@ public static void AddSwaggerGen(this IServiceCollection services) { o.SupportNonNullableReferenceTypes(); - o.SwaggerDoc("v1", + o.SwaggerDoc( + "v1", new OpenApiInfo { Title = "FilterLists Directory API",