From a7dc8f38a3c9a144e768ab8df7af249fad131590 Mon Sep 17 00:00:00 2001 From: Andrew Calcutt Date: Mon, 22 Jan 2024 01:17:15 -0500 Subject: [PATCH] fix: allow tile size to be set at json endpoints Signed-off-by: Andrew Calcutt --- src/serve_data.js | 4 ++-- src/serve_rendered.js | 4 ++-- src/utils.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/serve_data.js b/src/serve_data.js index d818c66..c3f4ce0 100644 --- a/src/serve_data.js +++ b/src/serve_data.js @@ -168,8 +168,8 @@ export const serve_data = { }, ); - app.get('/:id.json', (req, res, next) => { - const tileSize = undefined; + app.get('/(:tileSize(256|512)/)?:id.json', (req, res, next) => { + const tileSize = parseInt(req.params.tileSize, 10) || 256; const item = repo[req.params.id]; if (!item) { return res.sendStatus(404); diff --git a/src/serve_rendered.js b/src/serve_rendered.js index 3cfeae9..e45e849 100644 --- a/src/serve_rendered.js +++ b/src/serve_rendered.js @@ -822,8 +822,8 @@ export const serve_rendered = { ); } - app.get('/:id.json', (req, res, next) => { - const tileSize = 512; + app.get('/(:tileSize(256|512)/)?:id.json', (req, res, next) => { + const tileSize = parseInt(req.params.tileSize, 10) || 256; const item = repo[req.params.id]; if (!item) { return res.sendStatus(404); diff --git a/src/utils.js b/src/utils.js index b8dea23..2a516bc 100644 --- a/src/utils.js +++ b/src/utils.js @@ -75,9 +75,9 @@ export const getTileUrls = ( format = aliases[format]; } - let tileParams = '{z}/{x}/{y}'; + let tileParams = `{z}/{x}/{y}`; if (tileSize && ['png', 'jpg', 'jpeg', 'webp'].includes(format)) { - tileParams = '{tileSize}/{z}/{x}/{y}'; + tileParams = `${tileSize}/{z}/{x}/{y}`; } const uris = [];