From 979cc6a1bd055e844f72b796a0eda049dce3a425 Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 23 Aug 2021 13:37:18 +0800 Subject: [PATCH] core: update redirect --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/service/server.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index e778d188c..5139ac81a 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.33.3", + "version": "2.33.4", "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 b080bc35b..8f4695868 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -651,13 +651,13 @@ export class Handler extends HandlerCommon { logger.error(`User: ${this.user._id}(${this.user.uname}) Path: ${this.request.path}`, error.msg(), error.params); if (error.stack) logger.error(error.stack); } - if (this.user?._id === 0 && !(error instanceof LoginError) && !(error instanceof NotFoundError)) { + if (this.user?._id === 0 && (error instanceof PermissionError || error instanceof PrivilegeError)) { this.response.redirect = this.url('user_login', { query: { redirect: this.request.path + this.ctx.search } }); } else { this.response.status = error instanceof UserFacingError ? error.code : 500; this.response.template = error instanceof UserFacingError ? 'error.html' : 'bsod.html'; this.response.body = { - error: { message: error.msg(), params: error.params, stack: errorMessage(error.stack) }, + error: { message: error.msg(), params: error.params, stack: errorMessage(error.stack || '') }, }; } await this.finish().catch(() => { });