move rewrite rules
This commit is contained in:
@ -37,7 +37,7 @@ class MiddlewareStack extends Array {
|
||||
description: "A list of URL rewrite rules. For each rule, separate the 'from' and 'to' routes with '->'. Whitespace surrounded the routes is ignored. E.g. '/from -> /to'."
|
||||
},
|
||||
middleware: function (cliOptions) {
|
||||
const options = arrayify(cliOptions.rewrite || rewriteRules)
|
||||
const options = parseRewriteRules(arrayify(cliOptions.rewrite || rewriteRules))
|
||||
if (options.length) {
|
||||
return options.map(route => {
|
||||
if (route.to) {
|
||||
@ -295,3 +295,18 @@ class MiddlewareStack extends Array {
|
||||
}
|
||||
|
||||
module.exports = MiddlewareStack
|
||||
|
||||
function parseRewriteRules (rules) {
|
||||
return rules && rules.map(rule => {
|
||||
if (t.isString(rule)) {
|
||||
const matches = rule.match(/(\S*)\s*->\s*(\S*)/)
|
||||
if (!(matches && matches.length >= 3)) throw new Error('Invalid rule: ' + rule)
|
||||
return {
|
||||
from: matches[1],
|
||||
to: matches[2]
|
||||
}
|
||||
} else {
|
||||
return rule
|
||||
}
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user