1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-23 00:22:19 +01:00

feat: Catch all error handler (#3499)

This commit is contained in:
Mateusz Kwasniewski 2023-04-12 08:05:34 +02:00 committed by GitHub
parent 19d318d684
commit 84bf60ca78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 0 deletions

View File

@ -27,6 +27,7 @@ import patMiddleware from './middleware/pat-middleware';
import { Knex } from 'knex';
import maintenanceMiddleware from './middleware/maintenance-middleware';
import { unless } from './middleware/unless-middleware';
import { catchAllErrorHandler } from './middleware/catch-all-error-handler';
export default async function getApp(
config: IUnleashConfig,
@ -174,6 +175,8 @@ export default async function getApp(
if (process.env.NODE_ENV !== 'production') {
app.use(errorHandler());
} else {
app.use(catchAllErrorHandler(config.getLogger));
}
app.get(`${baseUriPath}`, (req, res) => {

View File

@ -0,0 +1,12 @@
import { ErrorRequestHandler } from 'express';
import { LogProvider } from '../logger';
import { handleErrors } from '../routes/util';
export const catchAllErrorHandler = (
logProvider: LogProvider,
): ErrorRequestHandler => {
const logger = logProvider('/debug-error-handler.ts');
return (err, req, res) => {
handleErrors(res, logger, err);
};
};

View File

@ -40,6 +40,8 @@ export const handleErrors: (
return res.status(400).json(error).end();
case 'BadDataError':
return res.status(400).json(error).end();
case 'BadRequestError':
return res.status(400).json(error).end();
case 'OwaspValidationError':
return res.status(400).json(error).end();
case 'PasswordUndefinedError':