From 3d19e9578cfd17c2382015bb649e6168e28387a7 Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 7 Jan 2022 22:05:29 +0800 Subject: [PATCH] core: move notfound error handle pos --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/service/server.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 465756e26..20e139963 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "3.3.1", + "version": "3.3.2", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index 9e5ccf817..0906b70d6 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -504,6 +504,7 @@ export class Handler extends HandlerCommon { } async init({ domainId }) { + let error; if (!argv.options.benchmark && !this.notUsage) await this.limitRate('global', 10, 88); const [absoluteDomain, inferDomain, bdoc] = await Promise.all([ domain.get(domainId), @@ -522,7 +523,7 @@ export class Handler extends HandlerCommon { this.user = await user.getById('system', this.session.uid); if (!this.user) this.user = await user.getById('system', 0); this.domain = inferDomain || await domain.get('system'); - throw new NotFoundError(domainId); + error = new NotFoundError(domainId); } this.UiContext.domainId = this.domainId; this.UiContext.domain = this.domain; @@ -542,6 +543,7 @@ export class Handler extends HandlerCommon { icon: global.Hydro.lib[key].icon, text: global.Hydro.lib[key].text, })); + if (error) throw error; if (bdoc) throw new BlacklistedError(this.request.ip); if (!this.noCheckPermView && !this.user.hasPriv(PRIV.PRIV_VIEW_ALL_DOMAIN)) this.checkPerm(PERM.PERM_VIEW); if (this.request.method === 'post' && this.request.headers.referer) {