node-web-mvc
Version:
node spring mvc
40 lines (39 loc) • 1.53 kB
JavaScript
;
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"));
class MiddlewareResourceResolver {
/**
* @param configId webpack配置文件
*/
constructor(...middlewares) {
this.middlewares = middlewares || [];
}
/**
* 根据当前请求以及解析配置来解析资源
* @param request 当前请求对象
* @param requestPath 当前请求路径
* @param locations 搜索范围位置
*/
resolveResource(request, requestPath, locations, next) {
if (this.middlewares.length < 1) {
return next.resolveResource(request, requestPath, locations);
}
const invoker = new Middlewares_1.default(this.middlewares);
return invoker.execute(request, request.servletContext.response, () => {
// 如果中间件,没有捕获到资源,则使用下一个解析器。
return next.resolveResource(request, requestPath, locations);
});
}
/**
* 根据当前请求以及解析配置来解析资源路径
* @param requestPath 当前请求路径
* @param locations 搜索范围位置
*/
resolveUrlPath(resourcePath, locations, chain) {
return chain.resolveUrlPath(resourcePath, locations);
}
}
exports.default = MiddlewareResourceResolver;