node-web-mvc
Version:
node spring mvc
39 lines (38 loc) • 1.58 kB
TypeScript
/**
* @module MappedInterceptor
* @description 一个带路径匹配模式的拦截器.
*/
import HandlerInterceptor from './HandlerInterceptor';
import HttpServletRequest from '../http/HttpServletRequest';
import HttpServletResponse from '../http/HttpServletResponse';
import PathMatcher from '../util/PathMatcher';
export default class MappedInterceptor implements HandlerInterceptor {
private includePatterns;
private excludePatterns;
private interceptor;
private pathMatcher;
/**
* 构造一个路径匹配型拦截器
* @param includePatterns 包含项规则列表
* @param excludePatterns 排除项规则列表
* @param interceptor 当前实际承载的拦截器
*/
constructor(includePatterns: Array<string>, excludePatterns: Array<string>, interceptor: HandlerInterceptor);
/**
* 根据传入的请求对象进行路径匹配,用以判定是否可以使用当前拦截器。
*/
matches(request: HttpServletRequest): boolean;
/**
* 执行路径规则匹配
* @param pattern 规则
* @param path 路径
*/
private matchPattern;
/**
* 设置当前路径匹配器
*/
setPathMatcher(pathMatcher: PathMatcher): void;
preHandle(request: HttpServletRequest, response: HttpServletResponse, handler: any): Promise<boolean> | boolean;
postHandle(request: HttpServletRequest, response: HttpServletResponse, handler: any, modelAndView: any): void;
afterCompletion(request: HttpServletRequest, response: HttpServletResponse, handler: any, ex: any): void;
}