增强 redirect.js,支持path匹配结果拼接重定向地址。

pull/291/head
王良 2024-04-09 13:46:09 +08:00
parent c7f3c23662
commit 0069e1c26b
1 changed files with 14 additions and 5 deletions

View File

@ -1,7 +1,7 @@
module.exports = {
name: 'redirect',
priority: 102,
requestIntercept (context, interceptOpt, req, res, ssl, next) {
requestIntercept (context, interceptOpt, req, res, ssl, next, matched) {
const { rOptions, log } = context
let redirect
@ -15,10 +15,19 @@ module.exports = {
redirect = interceptOpt.redirect(req.url)
}
// eslint-disable-next-line
// no-template-curly-in-string
// eslint-disable-next-line no-template-curly-in-string
redirect = redirect.replace('${host}', rOptions.hostname)
// 替换内容
if (redirect.indexOf('${') >= 0) {
// eslint-disable-next-line
// no-template-curly-in-string
// eslint-disable-next-line no-template-curly-in-string
redirect = redirect.replace('${host}', rOptions.hostname)
if (matched) {
for (let i = 0; i < matched.length; i++) {
redirect = redirect.replace('${m[' + i + ']}', matched[i])
}
}
}
res.writeHead(302, {
Location: redirect,