move rewrite rules
This commit is contained in:
@ -113,30 +113,12 @@ function collectOptions (mwOptionDefinitions) {
|
||||
directory: process.cwd()
|
||||
}, stored, cliOptions.server, cliOptions.middleware, cliOptions.misc)
|
||||
|
||||
if (options.rewrite) {
|
||||
options.rewrite = parseRewriteRules(options.rewrite)
|
||||
}
|
||||
// console.error(require('util').inspect(options, { depth: 3, colors: true }))
|
||||
|
||||
validateOptions(options)
|
||||
return options
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function validateOptions (options) {
|
||||
if (!t.isNumber(options.port)) {
|
||||
tool.printError('--port must be numeric')
|
||||
|
@ -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