1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-09-20 09:41:35 +02:00

Silently resize images back to max height/width

This commit is contained in:
Madeline 2022-07-24 21:24:44 +10:00
parent b00e432c2d
commit 90f95b6246
No known key found for this signature in database
GPG Key ID: 1958E017C36F2E47

View File

@ -62,14 +62,11 @@ router.get("/resize/:url", async (req: Request, res: Response) => {
const url = decodeURIComponent(req.params.url);
const { width, height } = req.query;
if (!width || !height) throw new HTTPError("Must provide width and height");
const w = parseInt(width as string);
const h = parseInt(height as string);
if (w < 1 || h < 1) throw new HTTPError("Width and height must be greater than 0");
const { resizeHeightMax, resizeWidthMax } = Config.get().cdn;
if (resizeHeightMax && resizeWidthMax &&
(w > resizeWidthMax || h > resizeHeightMax))
throw new HTTPError(`Width and height must not exceed ${resizeWidthMax}, ${resizeHeightMax}`);
const w = Math.min(parseInt(width as string), resizeWidthMax ?? 100);
const h = Math.min(parseInt(height as string), resizeHeightMax ?? 100);
if (w < 1 || h < 1) throw new HTTPError("Width and height must be greater than 0");
let buffer;
try {