maglev
Version:
Preconfigured NodeJS framework
38 lines (27 loc) • 893 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.RedirectCode = undefined;
exports.regExpPath = regExpPath;
var _RedirectCode = require('../constants/RedirectCode');
var _RedirectCode2 = _interopRequireDefault(_RedirectCode);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.RedirectCode = _RedirectCode2.default;
/*
/^\/(en|sk|it)(\/.*)/
to '$2'
*/
function regExpPath(pathRegExp, to) {
var code = arguments.length <= 2 || arguments[2] === undefined ? _RedirectCode2.default.TEMPORARY : arguments[2];
if (!(pathRegExp instanceof RegExp)) {
throw new Error('Path is not regexp');
}
return function (req, res, next) {
if (!pathRegExp.test(req.path)) {
return next();
}
var newPath = req.path.replace(pathRegExp, to);
res.redirect(newPath, code);
};
}