From 8420ef16a74003f0ecb711bc481d58f9de698b74 Mon Sep 17 00:00:00 2001 From: acalcutt Date: Sat, 4 Jan 2025 00:14:10 -0500 Subject: [PATCH] fix failing test with multiple fonts --- src/serve_font.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/serve_font.js b/src/serve_font.js index ec0b424..546e486 100644 --- a/src/serve_font.js +++ b/src/serve_font.js @@ -38,12 +38,18 @@ export async function serve_font(options, allowedFonts, programOpts) { ); } let fontstack = req.params.fontstack; - const fontStackMatch = fontstack?.match(/^[\w\s-]+$/); - if (!fontStackMatch) { + const fontStackParts = fontstack.split(','); + const sanitizedFontStack = fontStackParts + .map((font) => { + const fontMatch = font?.match(/^[\w\s-]+$/); + return fontMatch?.[0]; + }) + .filter(Boolean) + .join(','); + if (sanitizedFontStack.length == 0) { return res.status(400).send('Invalid font stack format'); } - fontstack = decodeURI(fontStackMatch[0]); - + fontstack = decodeURI(sanitizedFontStack); const range = req.params.range; try {