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);