捕获配置转换的异常
parent
64d5ae5e8b
commit
b80547944b
|
@ -32,23 +32,27 @@ function domainMapRegexply (hostMap) {
|
||||||
const regexpMap = {}
|
const regexpMap = {}
|
||||||
const origin = {} // 用于快速匹配,见matchHostname、matchHostnameAll方法
|
const origin = {} // 用于快速匹配,见matchHostname、matchHostnameAll方法
|
||||||
lodash.each(hostMap, (value, domain) => {
|
lodash.each(hostMap, (value, domain) => {
|
||||||
// 将域名匹配串格式如 `.xxx.com` 转换为 `*.xxx.com`
|
try {
|
||||||
if (domain[0] === '.') {
|
// 将域名匹配串格式如 `.xxx.com` 转换为 `*.xxx.com`
|
||||||
if (hostMap[`*${domain}`] != null) {
|
if (domain[0] === '.') {
|
||||||
return // 如果已经有匹配串 `*.xxx.com`,则忽略 `.xxx.com`
|
if (hostMap[`*${domain}`] != null) {
|
||||||
|
return // 如果已经有匹配串 `*.xxx.com`,则忽略 `.xxx.com`
|
||||||
|
}
|
||||||
|
domain = `*${domain}`
|
||||||
}
|
}
|
||||||
domain = `*${domain}`
|
|
||||||
}
|
|
||||||
|
|
||||||
if (domain.includes('*') || domain[0] === '^') {
|
if (domain.includes('*') || domain[0] === '^') {
|
||||||
const regDomain = domain[0] !== '^' ? domainRegexply(domain) : domain
|
const regDomain = domain[0] !== '^' ? domainRegexply(domain) : domain
|
||||||
regexpMap[regDomain] = value
|
regexpMap[regDomain] = value
|
||||||
|
|
||||||
if (domain.indexOf('*') === 0 && domain.lastIndexOf('*') === 0) {
|
if (domain.indexOf('*') === 0 && domain.lastIndexOf('*') === 0) {
|
||||||
|
origin[domain] = value
|
||||||
|
}
|
||||||
|
} else {
|
||||||
origin[domain] = value
|
origin[domain] = value
|
||||||
}
|
}
|
||||||
} else {
|
} catch (e) {
|
||||||
origin[domain] = value
|
log.error('匹配串有问题:', domain, e)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
regexpMap.origin = origin
|
regexpMap.origin = origin
|
||||||
|
|
Loading…
Reference in New Issue