UNPKG

node-web-mvc

Version:
34 lines (33 loc) 1.5 kB
"use strict"; /** * @module MiddlewareInterceptor * @description 描述 */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Middlewares_1 = __importDefault(require("../models/Middlewares")); const HandlerInterceptor_1 = __importDefault(require("./HandlerInterceptor")); class MiddlewareInterceptor extends HandlerInterceptor_1.default { constructor(...middlewares) { super(); this.middlewares = middlewares || []; } /** * 在处理action前,进行请求预处理,通常可以用于编码、安全控制、权限校验 * @param { HttpRequest } request 当前请求对象 * @param { HttpResponse } response 当前响应对象 * @param { ControllerContext } handler 当前拦截待执行的函数相关信息 * @returns { boolean } * 返回值:true表示继续流程(如调用下一个拦截器或处理器);false表示流程中断(如登录检查失败),不会继续调用其他的拦截器或处理器,此时我们需要通过response来产生响应; */ preHandle(request, response, handler) { if (this.middlewares.length < 1) { return true; } const invoker = new Middlewares_1.default(this.middlewares); return invoker.execute(request, response, () => true); } } exports.default = MiddlewareInterceptor;