Skip to content

Commit 665d9da

Browse files
committed
ensure links take url path prefix in to account
1 parent b424f49 commit 665d9da

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

src/Elastic.ApiExplorer/OpenApiGenerator.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ public class OpenApiGenerator(BuildContext context, IMarkdownStringRenderer mark
4343
private readonly IFileSystem _writeFileSystem = context.WriteFileSystem;
4444
private readonly StaticFileContentHashProvider _contentHashProvider = new(new EmbeddedOrPhysicalFileProvider(context));
4545

46-
public static LandingNavigationItem CreateNavigation(OpenApiDocument openApiDocument)
46+
public LandingNavigationItem CreateNavigation(OpenApiDocument openApiDocument)
4747
{
48-
var url = "/api";
48+
var url = $"{context.UrlPathPrefix}/api";
4949
var rootNavigation = new LandingNavigationItem(url);
5050

5151
var ops = openApiDocument.Paths
@@ -175,7 +175,7 @@ group tagGroup by classificationGroup.Key
175175
return rootNavigation;
176176
}
177177

178-
private static void CreateTagNavigationItems(
178+
private void CreateTagNavigationItems(
179179
ApiClassification classification,
180180
IRootNavigationItem<IApiGroupingModel, INavigationItem> rootNavigation,
181181
IApiGroupingNavigationItem<IApiGroupingModel, INavigationItem> parent,
@@ -204,7 +204,7 @@ List<IApiGroupingNavigationItem<IApiGroupingModel, INavigationItem>> parentNavig
204204
}
205205
}
206206

207-
private static void CreateEndpointNavigationItems(
207+
private void CreateEndpointNavigationItems(
208208
IRootNavigationItem<IApiGroupingModel, INavigationItem> rootNavigation,
209209
ApiTag tag,
210210
IApiGroupingNavigationItem<IApiGroupingModel, INavigationItem> parentNavigationItem,
@@ -219,7 +219,7 @@ List<IEndpointOrOperationNavigationItem> endpointNavigationItems
219219
var operationNavigationItems = new List<OperationNavigationItem>();
220220
foreach (var operation in endpoint.Operations)
221221
{
222-
var operationNavigationItem = new OperationNavigationItem(operation, rootNavigation, endpointNavigationItem)
222+
var operationNavigationItem = new OperationNavigationItem(context.UrlPathPrefix, operation, rootNavigation, endpointNavigationItem)
223223
{
224224
Hidden = true
225225
};
@@ -231,7 +231,7 @@ List<IEndpointOrOperationNavigationItem> endpointNavigationItems
231231
else
232232
{
233233
var operation = endpoint.Operations.First();
234-
var operationNavigationItem = new OperationNavigationItem(operation, rootNavigation, parentNavigationItem);
234+
var operationNavigationItem = new OperationNavigationItem(context.UrlPathPrefix, operation, rootNavigation, parentNavigationItem);
235235
endpointNavigationItems.Add(operationNavigationItem);
236236

237237
}

src/Elastic.ApiExplorer/Operations/OperationNavigationItem.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public async Task RenderAsync(FileSystemStream stream, ApiRenderContext context,
2828
public class OperationNavigationItem : ILeafNavigationItem<ApiOperation>, IEndpointOrOperationNavigationItem
2929
{
3030
public OperationNavigationItem(
31+
string? urlPathPrefix,
3132
ApiOperation apiOperation,
3233
IRootNavigationItem<IApiGroupingModel, INavigationItem> root,
3334
IApiGroupingNavigationItem<IApiGroupingModel, INavigationItem> parent
@@ -38,7 +39,7 @@ IApiGroupingNavigationItem<IApiGroupingModel, INavigationItem> parent
3839
NavigationTitle = apiOperation.ApiName;
3940
Parent = parent;
4041
var moniker = apiOperation.Operation.OperationId ?? apiOperation.Route.Replace("}", "").Replace("{", "").Replace('/', '-');
41-
Url = $"/api/endpoints/{moniker}";
42+
Url = $"{urlPathPrefix}/api/endpoints/{moniker}";
4243
Id = ShortId.Create(Url);
4344
}
4445

tests/Elastic.ApiExplorer.Tests/ReaderTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public async Task Navigation()
3838

3939
var openApiDocument = await OpenApiReader.Create(context.Configuration.OpenApiSpecification);
4040
openApiDocument.Should().NotBeNull();
41-
var navigation = OpenApiGenerator.CreateNavigation(openApiDocument);
41+
var navigation = generator.CreateNavigation(openApiDocument);
4242

4343
navigation.Should().NotBeNull();
4444
}

0 commit comments

Comments
 (0)