UNPKG

node-web-mvc

Version:
42 lines (41 loc) 1.59 kB
"use strict"; /** * @module BeanNameUrlHandlerMapping * @description 用于httprequest类型请求 */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ResourceHttpRequestHandler_1 = __importDefault(require("../resources/ResourceHttpRequestHandler")); const AbstractHandlerMapping_1 = __importDefault(require("./AbstractHandlerMapping")); class BeanNameUrlHandlerMapping extends AbstractHandlerMapping_1.default { constructor(registry, resource) { super(); this.registry = registry; this.resource = resource; this.setDefaultHandler(null); } getHandlerInternal(context) { const request = context.request; const registrations = this.registry.registrations; const lookupPath = this.initLookupPath(request); for (const registration of registrations) { if (this.match(registration, lookupPath, request)) { return new ResourceHttpRequestHandler_1.default(registration, this.resource); } } } match(mapping, path, request) { const pathPatterns = mapping.pathPatterns; const matcher = this.pathMatcher; for (const pattern of pathPatterns) { const result = matcher.matchPattern(pattern, path); // 如果当前路由匹配成功 if (result) { return true; } } } } exports.default = BeanNameUrlHandlerMapping;