From 4930220fca0658b6fc2517b3d85dd471b0d29576 Mon Sep 17 00:00:00 2001 From: undefined Date: Sat, 7 Jan 2023 22:51:14 +0800 Subject: [PATCH] core: FSDownload: capture invalid path error --- packages/hydrooj/src/handler/misc.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/hydrooj/src/handler/misc.ts b/packages/hydrooj/src/handler/misc.ts index 0c79766a7..4f98311d8 100644 --- a/packages/hydrooj/src/handler/misc.ts +++ b/packages/hydrooj/src/handler/misc.ts @@ -96,9 +96,14 @@ export class FSDownloadHandler extends Handler { target, size: file?.size || 0, }); - this.response.redirect = await storage.signDownloadLink( - target, noDisposition ? undefined : filename, false, 'user', - ); + try { + this.response.redirect = await storage.signDownloadLink( + target, noDisposition ? undefined : filename, false, 'user', + ); + } catch (e) { + if (e.message.includes('Invalid path')) throw new NotFoundError(filename); + throw e; + } } }