UNPKG

grind-http

Version:
66 lines (51 loc) 4.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RouteLayer = void 0; const Layer = require('express/lib/router/layer.js'); class RouteLayer extends Layer { constructor(route, layer, middleware, options) { super(route.path, options, layer.handle); this._layer = null; this.route = route; this._layer = layer; route.dispatchMiddleware = (req, res, done) => { let idx = 0; next(); function next(err) { if (err) { return done(err); } const handle = middleware[idx++]; if (!handle) { return done(); } return handle(req, res, next); } }; } match(path) { return this._layer.match(path); } get params() { const params = this._layer.params || {}; params.__middlewareWorkaround = true; return params; } set params(value) { /* Ignore */ } get keys() { const keys = (this._layer.keys || []).slice(); keys.unshift({ name: '__middlewareWorkaround' }); return keys; } set keys(value) { /* Ignore */ } } exports.RouteLayer = RouteLayer; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Sb3V0aW5nL1JvdXRlTGF5ZXIuanMiXSwibmFtZXMiOlsiTGF5ZXIiLCJyZXF1aXJlIiwiUm91dGVMYXllciIsImNvbnN0cnVjdG9yIiwicm91dGUiLCJsYXllciIsIm1pZGRsZXdhcmUiLCJvcHRpb25zIiwicGF0aCIsImhhbmRsZSIsIl9sYXllciIsImRpc3BhdGNoTWlkZGxld2FyZSIsInJlcSIsInJlcyIsImRvbmUiLCJpZHgiLCJuZXh0IiwiZXJyIiwibWF0Y2giLCJwYXJhbXMiLCJfX21pZGRsZXdhcmVXb3JrYXJvdW5kIiwidmFsdWUiLCJrZXlzIiwic2xpY2UiLCJ1bnNoaWZ0IiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE1BQU1BLEtBQUssR0FBR0MsT0FBTyxDQUFDLDZCQUFELENBQXJCOztBQUVPLE1BQU1DLFVBQU4sU0FBeUJGLEtBQXpCLENBQStCO0FBR3JDRyxFQUFBQSxXQUFXLENBQUNDLEtBQUQsRUFBUUMsS0FBUixFQUFlQyxVQUFmLEVBQTJCQyxPQUEzQixFQUFvQztBQUM5QyxVQUFNSCxLQUFLLENBQUNJLElBQVosRUFBa0JELE9BQWxCLEVBQTJCRixLQUFLLENBQUNJLE1BQWpDO0FBRDhDLFNBRi9DQyxNQUUrQyxHQUZ0QyxJQUVzQztBQUc5QyxTQUFLTixLQUFMLEdBQWFBLEtBQWI7QUFDQSxTQUFLTSxNQUFMLEdBQWNMLEtBQWQ7O0FBRUFELElBQUFBLEtBQUssQ0FBQ08sa0JBQU4sR0FBMkIsQ0FBQ0MsR0FBRCxFQUFNQyxHQUFOLEVBQVdDLElBQVgsS0FBb0I7QUFDOUMsVUFBSUMsR0FBRyxHQUFHLENBQVY7QUFDQUMsTUFBQUEsSUFBSTs7QUFFSixlQUFTQSxJQUFULENBQWNDLEdBQWQsRUFBbUI7QUFDbEIsWUFBSUEsR0FBSixFQUFTO0FBQ1IsaUJBQU9ILElBQUksQ0FBQ0csR0FBRCxDQUFYO0FBQ0E7O0FBRUQsY0FBTVIsTUFBTSxHQUFHSCxVQUFVLENBQUNTLEdBQUcsRUFBSixDQUF6Qjs7QUFFQSxZQUFJLENBQUNOLE1BQUwsRUFBYTtBQUNaLGlCQUFPSyxJQUFJLEVBQVg7QUFDQTs7QUFFRCxlQUFPTCxNQUFNLENBQUNHLEdBQUQsRUFBTUMsR0FBTixFQUFXRyxJQUFYLENBQWI7QUFDQTtBQUNELEtBakJEO0FBa0JBOztBQUVERSxFQUFBQSxLQUFLLENBQUNWLElBQUQsRUFBTztBQUNYLFdBQU8sS0FBS0UsTUFBTCxDQUFZUSxLQUFaLENBQWtCVixJQUFsQixDQUFQO0FBQ0E7O0FBRUQsTUFBSVcsTUFBSixHQUFhO0FBQ1osVUFBTUEsTUFBTSxHQUFHLEtBQUtULE1BQUwsQ0FBWVMsTUFBWixJQUFzQixFQUFyQztBQUNBQSxJQUFBQSxNQUFNLENBQUNDLHNCQUFQLEdBQWdDLElBQWhDO0FBQ0EsV0FBT0QsTUFBUDtBQUNBOztBQUVELE1BQUlBLE1BQUosQ0FBV0UsS0FBWCxFQUFrQjtBQUNqQjtBQUNBOztBQUVELE1BQUlDLElBQUosR0FBVztBQUNWLFVBQU1BLElBQUksR0FBRyxDQUFDLEtBQUtaLE1BQUwsQ0FBWVksSUFBWixJQUFvQixFQUFyQixFQUF5QkMsS0FBekIsRUFBYjtBQUNBRCxJQUFBQSxJQUFJLENBQUNFLE9BQUwsQ0FBYTtBQUFFQyxNQUFBQSxJQUFJLEVBQUU7QUFBUixLQUFiO0FBQ0EsV0FBT0gsSUFBUDtBQUNBOztBQUVELE1BQUlBLElBQUosQ0FBU0QsS0FBVCxFQUFnQjtBQUNmO0FBQ0E7O0FBbkRvQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IExheWVyID0gcmVxdWlyZSgnZXhwcmVzcy9saWIvcm91dGVyL2xheWVyLmpzJylcblxuZXhwb3J0IGNsYXNzIFJvdXRlTGF5ZXIgZXh0ZW5kcyBMYXllciB7XG5cdF9sYXllciA9IG51bGxcblxuXHRjb25zdHJ1Y3Rvcihyb3V0ZSwgbGF5ZXIsIG1pZGRsZXdhcmUsIG9wdGlvbnMpIHtcblx0XHRzdXBlcihyb3V0ZS5wYXRoLCBvcHRpb25zLCBsYXllci5oYW5kbGUpXG5cblx0XHR0aGlzLnJvdXRlID0gcm91dGVcblx0XHR0aGlzLl9sYXllciA9IGxheWVyXG5cblx0XHRyb3V0ZS5kaXNwYXRjaE1pZGRsZXdhcmUgPSAocmVxLCByZXMsIGRvbmUpID0+IHtcblx0XHRcdGxldCBpZHggPSAwXG5cdFx0XHRuZXh0KClcblxuXHRcdFx0ZnVuY3Rpb24gbmV4dChlcnIpIHtcblx0XHRcdFx0aWYgKGVycikge1xuXHRcdFx0XHRcdHJldHVybiBkb25lKGVycilcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IGhhbmRsZSA9IG1pZGRsZXdhcmVbaWR4KytdXG5cblx0XHRcdFx0aWYgKCFoYW5kbGUpIHtcblx0XHRcdFx0XHRyZXR1cm4gZG9uZSgpXG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gaGFuZGxlKHJlcSwgcmVzLCBuZXh0KVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdG1hdGNoKHBhdGgpIHtcblx0XHRyZXR1cm4gdGhpcy5fbGF5ZXIubWF0Y2gocGF0aClcblx0fVxuXG5cdGdldCBwYXJhbXMoKSB7XG5cdFx0Y29uc3QgcGFyYW1zID0gdGhpcy5fbGF5ZXIucGFyYW1zIHx8IHt9XG5cdFx0cGFyYW1zLl9fbWlkZGxld2FyZVdvcmthcm91bmQgPSB0cnVlXG5cdFx0cmV0dXJuIHBhcmFtc1xuXHR9XG5cblx0c2V0IHBhcmFtcyh2YWx1ZSkge1xuXHRcdC8qIElnbm9yZSAqL1xuXHR9XG5cblx0Z2V0IGtleXMoKSB7XG5cdFx0Y29uc3Qga2V5cyA9ICh0aGlzLl9sYXllci5rZXlzIHx8IFtdKS5zbGljZSgpXG5cdFx0a2V5cy51bnNoaWZ0KHsgbmFtZTogJ19fbWlkZGxld2FyZVdvcmthcm91bmQnIH0pXG5cdFx0cmV0dXJuIGtleXNcblx0fVxuXG5cdHNldCBrZXlzKHZhbHVlKSB7XG5cdFx0LyogSWdub3JlICovXG5cdH1cbn1cbiJdfQ==