UNPKG

node-web-mvc

Version:
39 lines (38 loc) 1.58 kB
/** * @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; }