diff --git a/packages/backend-app-api/package.json b/packages/backend-app-api/package.json index a6ecb5f455..01eaeaecaf 100644 --- a/packages/backend-app-api/package.json +++ b/packages/backend-app-api/package.json @@ -48,6 +48,7 @@ "express-promise-router": "^4.1.0", "fs-extra": "10.1.0", "helmet": "^6.0.0", + "lodash": "^4.17.21", "minimatch": "^5.0.0", "morgan": "^1.10.0", "node-forge": "^1.3.1", diff --git a/packages/backend-app-api/src/services/implementations/rootHttpRouter/DefaultRootHttpRouter.ts b/packages/backend-app-api/src/services/implementations/rootHttpRouter/DefaultRootHttpRouter.ts index 2acbb3833a..0a144af494 100644 --- a/packages/backend-app-api/src/services/implementations/rootHttpRouter/DefaultRootHttpRouter.ts +++ b/packages/backend-app-api/src/services/implementations/rootHttpRouter/DefaultRootHttpRouter.ts @@ -16,9 +16,10 @@ import { RootHttpRouterService } from '@backstage/backend-plugin-api'; import { Handler, Router } from 'express'; +import trimEnd from 'lodash/trimEnd'; function normalizePath(path: string): string { - return path.replace(/\/*$/, '/'); + return `${trimEnd(path, '/')}/`; } /** diff --git a/yarn.lock b/yarn.lock index 0890ba4386..cdb2142850 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3400,6 +3400,7 @@ __metadata: fs-extra: 10.1.0 helmet: ^6.0.0 http-errors: ^2.0.0 + lodash: ^4.17.21 minimatch: ^5.0.0 morgan: ^1.10.0 node-forge: ^1.3.1