Make swagger UI respect public path

This commit is contained in:
Jordan Dominion
2024-01-20 18:22:13 -05:00
parent 4d73cf2bb7
commit 6f80660d25
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Frozen;
using System.Collections.Generic;
using System.Globalization;
@@ -503,6 +503,10 @@ namespace Tgstation.Server.Host.Core
if (generalConfiguration.HostApiDocumentation)
{
var siteDocPath = Routes.ApiRoot + $"doc/{SwaggerConfiguration.DocumentName}.json";
if (!String.IsNullOrWhiteSpace(controlPanelConfiguration.PublicPath))
siteDocPath = controlPanelConfiguration.PublicPath.TrimEnd('/') + siteDocPath;
applicationBuilder.UseSwagger(options =>
{
options.RouteTemplate = Routes.ApiRoot + "doc/{documentName}.{json|yaml}";
@@ -510,7 +514,7 @@ namespace Tgstation.Server.Host.Core
applicationBuilder.UseSwaggerUI(options =>
{
options.RoutePrefix = SwaggerConfiguration.DocumentationSiteRouteExtension;
options.SwaggerEndpoint(Routes.ApiRoot + $"doc/{SwaggerConfiguration.DocumentName}.json", "TGS API");
options.SwaggerEndpoint(siteDocPath, "TGS API");
});
logger.LogTrace("Swagger API generation enabled");
}