33 lines
832 B
TypeScript
33 lines
832 B
TypeScript
import { Router } from './router.ts';
|
|
import { Exception } from './exception.ts';
|
|
import { BodyParser } from './body-parser.ts';
|
|
import { Session } from './session.ts';
|
|
import { CORS } from './cors.ts';
|
|
import { HttpLogger } from './logger.ts';
|
|
import type Koa from 'koa';
|
|
import { Authorization } from './Authorization.ts';
|
|
|
|
/**
|
|
* 初始化中间件
|
|
* @param app Koa
|
|
*/
|
|
export function initMiddlewares(app: Koa) {
|
|
// 日志中间件需要最早注册,记录所有请求
|
|
new HttpLogger().apply(app);
|
|
|
|
// 全局异常处理中间件必须最先注册
|
|
new Exception().apply(app);
|
|
|
|
// Session 中间件需要在请求体解析之前注册
|
|
new Session().apply(app);
|
|
|
|
new CORS().apply(app);
|
|
|
|
new Authorization().apply(app);
|
|
|
|
// 请求体解析中间件
|
|
new BodyParser().apply(app);
|
|
|
|
new Router().apply(app);
|
|
}
|