Files
certd/packages/ui/certd-server/src/middleware/global-exception.ts
T

27 lines
881 B
TypeScript
Raw Normal View History

2024-07-15 00:30:33 +08:00
import { Provide } from '@midwayjs/core';
import { IMidwayKoaContext, IWebMiddleware, NextFunction } from '@midwayjs/koa';
2024-11-04 16:39:02 +08:00
import { logger } from '@certd/basic';
import { Result } from '@certd/lib-server';
@Provide()
export class GlobalExceptionMiddleware implements IWebMiddleware {
resolve() {
return async (ctx: IMidwayKoaContext, next: NextFunction) => {
const { url } = ctx;
const startTime = Date.now();
logger.info('请求开始:', url);
try {
await next();
2024-08-14 21:24:12 +08:00
logger.info('请求完成:', url, Date.now() - startTime + 'ms');
} catch (err) {
logger.error('请求异常:', url, Date.now() - startTime + 'ms', err);
ctx.status = 200;
2023-06-25 15:30:18 +08:00
if (err.code == null || typeof err.code !== 'number') {
err.code = 1;
}
ctx.body = Result.error(err.code, err.message);
}
};
}
}