node-web-mvc
Version:
node spring mvc
35 lines (34 loc) • 1.96 kB
TypeScript
/**
* @module HandlerInterceptor
* 拦截器适配器抽象类
*/
import HttpServletRequest from '../http/HttpServletRequest';
import HttpServletResponse from '../http/HttpServletResponse';
export default abstract class HandlerInterceptor {
/**
* 在处理action前,进行请求预处理,通常可以用于编码、安全控制、权限校验
* @param { HttpServletRequest } request 当前请求对象
* @param { HttpServletResponse } response 当前响应对象
* @param { object } handler 当前请求处理器
* @returns { boolean }
* 返回值:true表示继续流程(如调用下一个拦截器或处理器);false表示流程中断(如登录检查失败),不会继续调用其他的拦截器或处理器,此时我们需要通过response来产生响应;
*/
preHandle(request: HttpServletRequest, response: HttpServletResponse, handler: object): Promise<boolean> | boolean;
/**
* 在处理完action后的拦截函数,可对执行完的接口进行处理
* @param { HttpServletRequest } request 当前请求对象
* @param { HttpServletResponse } response 当前响应对象
* @param { object } handler 当前请求处理器
* @param { any } result 执行action返回的结果
*/
postHandle(request: HttpServletRequest, response: HttpServletResponse, handler: object, result: any): void;
/**
* 在请求结束后的拦截器 (无论成功还是失败都会执行此拦截函数)
* (这里可以用于进行资源清理之类的工作)
* @param { HttpServletRequest } request 当前请求对象
* @param { HttpServletResponse } response 当前响应对象
* @param { object } handler 当前请求处理器
* @param { any } ex 如果执行action出现异常时,此参数会有值
*/
afterCompletion(request: HttpServletRequest, response: HttpServletResponse, handler: object, ex: any): void;
}