1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
pigallery2/backend/routes/ErrorRouter.ts

33 lines
899 B
TypeScript
Raw Normal View History

2018-03-31 03:30:30 +08:00
import {RenderingMWs} from '../middlewares/RenderingMWs';
import {ErrorCodes, ErrorDTO} from '../../common/entities/Error';
import {Logger} from '../Logger';
2016-12-27 06:36:38 +08:00
import Request = Express.Request;
import Response = Express.Response;
2018-11-29 06:49:33 +08:00
import {Express} from 'express';
2016-05-09 23:04:56 +08:00
export class ErrorRouter {
2018-11-29 06:49:33 +08:00
public static route(app: Express) {
this.addApiErrorHandler(app);
this.addGenericHandler(app);
}
2018-11-29 06:49:33 +08:00
private static addApiErrorHandler(app: Express) {
2018-03-31 03:30:30 +08:00
app.use('/api/*',
RenderingMWs.renderError
);
2018-03-31 03:30:30 +08:00
}
2018-11-29 06:49:33 +08:00
private static addGenericHandler(app: Express) {
app.use((err: any, req: Request, res: Response, next: Function) => {
2018-03-31 03:30:30 +08:00
// Flush out the stack to the console
Logger.error('Unexpected error:');
2017-07-18 05:12:12 +08:00
console.error(err);
2018-03-31 03:30:30 +08:00
next(new ErrorDTO(ErrorCodes.SERVER_ERROR, 'Unknown server side error', err));
},
RenderingMWs.renderError
);
}
}