From 039ea289fce5eebe5074e100d52e63c6b0eb05c0 Mon Sep 17 00:00:00 2001 From: flakey5 <73616808+flakey5@users.noreply.github.com> Date: Mon, 17 Aug 2026 17:57:22 -0700 Subject: [PATCH] src: fix `/download/docs/latest-*` links Signed-off-by: flakey5 <73616808+flakey5@users.noreply.github.com> --- src/middleware/r2Middleware.ts | 10 +++++++++- src/routes/index.ts | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/middleware/r2Middleware.ts b/src/middleware/r2Middleware.ts index e197c72..1d215ed 100644 --- a/src/middleware/r2Middleware.ts +++ b/src/middleware/r2Middleware.ts @@ -152,7 +152,15 @@ function getR2Path({ if (pathname.startsWith('/dist')) { return `nodejs/release/${filePath}`; } else if (pathname.startsWith('/download')) { - return `nodejs/${filePath}`; + if (pathname.startsWith('/download/docs/')) { + if (params.version !== undefined && !docsDirectory.includes(params.version)) { + return `nodejs/release/${params.version}/docs/${filePath}`; + } else { + return `nodejs/docs/${filePath}`; + } + } else { + return `nodejs/${filePath}`; + } } else if (pathname.startsWith('/api')) { return `nodejs/release/${latestVersions['latest']}/docs/api/${filePath}`; } else if (pathname.startsWith('/docs')) { diff --git a/src/routes/index.ts b/src/routes/index.ts index 2bfb2ef..4c1ad0b 100644 --- a/src/routes/index.ts +++ b/src/routes/index.ts @@ -42,6 +42,9 @@ export function registerRoutes(router: Router): void { router.head(`/docs/${branch}*`, subtitutionMiddleware); router.get(`/docs/${branch}*`, subtitutionMiddleware); + + router.head(`/download/docs/${branch}*`, subtitutionMiddleware); + router.get(`/download/docs/${branch}*`, subtitutionMiddleware); } router.head('/node-config-schema.json', r2Middleware); @@ -53,6 +56,9 @@ export function registerRoutes(router: Router): void { router.head('/dist/?:filePath+', r2Middleware, originMiddleware); router.get('/dist/?:filePath+', r2Middleware, originMiddleware); + router.head('/download/docs/?:version?/:filePath+?', r2Middleware, originMiddleware); + router.get('/download/docs/?:version?/:filePath+?', r2Middleware, originMiddleware); + router.head('/download/?:filePath+', r2Middleware, originMiddleware); router.get('/download/?:filePath+', r2Middleware, originMiddleware);