mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-10 02:02:29 +08:00
refactor(error_handlers): get rid of "any" type in csrf error handler
This commit is contained in:
parent
76574f0938
commit
4b6972fb21
@ -5,13 +5,20 @@ import ForbiddenError from "../errors/forbidden_error.js";
|
||||
import HttpError from "../errors/http_error.js";
|
||||
|
||||
function register(app: Application) {
|
||||
app.use((err: any, req: Request, res: Response, next: NextFunction) => {
|
||||
if (err.code !== "EBADCSRFTOKEN") {
|
||||
return next(err);
|
||||
|
||||
app.use((err: unknown | Error, req: Request, res: Response, next: NextFunction) => {
|
||||
|
||||
const isCsrfTokenError = typeof err === "object"
|
||||
&& err
|
||||
&& "code" in err
|
||||
&& err.code === "EBADCSRFTOKEN";
|
||||
|
||||
if (isCsrfTokenError) {
|
||||
log.error(`Invalid CSRF token: ${req.headers["x-csrf-token"]}, secret: ${req.cookies["_csrf"]}`);
|
||||
return next(new ForbiddenError("Invalid CSRF token"));
|
||||
}
|
||||
|
||||
log.error(`Invalid CSRF token: ${req.headers["x-csrf-token"]}, secret: ${req.cookies["_csrf"]}`);
|
||||
next(new ForbiddenError("Invalid CSRF token"));
|
||||
return next(err);
|
||||
});
|
||||
|
||||
// catch 404 and forward to error handler
|
||||
|
Loading…
x
Reference in New Issue
Block a user