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:
parent
19d318d684
commit
84bf60ca78
@ -27,6 +27,7 @@ import patMiddleware from './middleware/pat-middleware';
|
|||||||
import { Knex } from 'knex';
|
import { Knex } from 'knex';
|
||||||
import maintenanceMiddleware from './middleware/maintenance-middleware';
|
import maintenanceMiddleware from './middleware/maintenance-middleware';
|
||||||
import { unless } from './middleware/unless-middleware';
|
import { unless } from './middleware/unless-middleware';
|
||||||
|
import { catchAllErrorHandler } from './middleware/catch-all-error-handler';
|
||||||
|
|
||||||
export default async function getApp(
|
export default async function getApp(
|
||||||
config: IUnleashConfig,
|
config: IUnleashConfig,
|
||||||
@ -174,6 +175,8 @@ export default async function getApp(
|
|||||||
|
|
||||||
if (process.env.NODE_ENV !== 'production') {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
app.use(errorHandler());
|
app.use(errorHandler());
|
||||||
|
} else {
|
||||||
|
app.use(catchAllErrorHandler(config.getLogger));
|
||||||
}
|
}
|
||||||
|
|
||||||
app.get(`${baseUriPath}`, (req, res) => {
|
app.get(`${baseUriPath}`, (req, res) => {
|
||||||
|
12
src/lib/middleware/catch-all-error-handler.ts
Normal file
12
src/lib/middleware/catch-all-error-handler.ts
Normal 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);
|
||||||
|
};
|
||||||
|
};
|
@ -40,6 +40,8 @@ export const handleErrors: (
|
|||||||
return res.status(400).json(error).end();
|
return res.status(400).json(error).end();
|
||||||
case 'BadDataError':
|
case 'BadDataError':
|
||||||
return res.status(400).json(error).end();
|
return res.status(400).json(error).end();
|
||||||
|
case 'BadRequestError':
|
||||||
|
return res.status(400).json(error).end();
|
||||||
case 'OwaspValidationError':
|
case 'OwaspValidationError':
|
||||||
return res.status(400).json(error).end();
|
return res.status(400).json(error).end();
|
||||||
case 'PasswordUndefinedError':
|
case 'PasswordUndefinedError':
|
||||||
|
Loading…
Reference in New Issue
Block a user