From 201d0d31bb879703ef0865633620794b756947f2 Mon Sep 17 00:00:00 2001 From: Chris Trombley Date: Wed, 11 May 2022 11:36:23 -0700 Subject: [PATCH] fix(techdocs): update proxy endpoint for `serve` command Signed-off-by: Chris Trombley --- .changeset/stupid-radios-approve.md | 5 +++++ packages/techdocs-cli/src/lib/httpServer.ts | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 .changeset/stupid-radios-approve.md diff --git a/.changeset/stupid-radios-approve.md b/.changeset/stupid-radios-approve.md new file mode 100644 index 0000000000..813e895611 --- /dev/null +++ b/.changeset/stupid-radios-approve.md @@ -0,0 +1,5 @@ +--- +'@techdocs/cli': patch +--- + +Update `techdocs-cli serve`'s `proxyEndpoint` to match the base URL of the embedded techdocs app. diff --git a/packages/techdocs-cli/src/lib/httpServer.ts b/packages/techdocs-cli/src/lib/httpServer.ts index 92fc5abc87..c4bd5b823a 100644 --- a/packages/techdocs-cli/src/lib/httpServer.ts +++ b/packages/techdocs-cli/src/lib/httpServer.ts @@ -32,7 +32,7 @@ export default class HTTPServer { mkdocsPort: number, verbose: boolean, ) { - this.proxyEndpoint = '/api/'; + this.proxyEndpoint = '/api/techdocs/'; this.backstageBundleDir = backstageBundleDir; this.backstagePort = backstagePort; this.mkdocsPort = mkdocsPort; @@ -46,10 +46,9 @@ export default class HTTPServer { }); return (request: http.IncomingMessage): [httpProxy, string] => { - // If the request goes to /api/ we want to remove /api/ from the prefix of the request URL. - // e.g. ['/', 'api', pathChunks] - const [, , ...pathChunks] = request.url?.split('/') ?? []; - const forwardPath = pathChunks.join('/'); + // If the request path is prefixed with this.proxyEndpoint, remove it. + const proxyEndpointPath = new RegExp(`^${this.proxyEndpoint}`, 'i'); + const forwardPath = request.url?.replace(proxyEndpointPath, '') || ''; return [proxy, forwardPath]; };