From 397c57b34829622ac80011515551bf33f5601eb0 Mon Sep 17 00:00:00 2001 From: Sainan Date: Thu, 19 Dec 2024 04:06:14 +0100 Subject: [PATCH] feat: respect client-supplied version for H.Cache.bin --- src/routes/cache.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/routes/cache.ts b/src/routes/cache.ts index 34764f22..37275394 100644 --- a/src/routes/cache.ts +++ b/src/routes/cache.ts @@ -4,8 +4,12 @@ import fs from "fs/promises"; const cacheRouter = express.Router(); -cacheRouter.get(/^\/origin\/[a-zA-Z0-9]+\/[0-9]+\/H\.Cache\.bin.*$/, (_req, res) => { - res.sendFile(`static/data/H.Cache_${buildConfig.version}.bin`, { root: "./" }); +cacheRouter.get(/^\/origin\/[a-zA-Z0-9]+\/[0-9]+\/H\.Cache\.bin.*$/, (req, res) => { + if (typeof req.query.version == "string" && req.query.version.match(/^\d\d\d\d\.\d\d\.\d\d\.\d\d\.\d\d$/)) { + res.sendFile(`static/data/H.Cache_${req.query.version}.bin`, { root: "./" }); + } else { + res.sendFile(`static/data/H.Cache_${buildConfig.version}.bin`, { root: "./" }); + } }); // eslint-disable-next-line @typescript-eslint/no-misused-promises