Skip to content

Commit b805479

Browse files
committedFeb 7, 2025
捕获配置转换的异常
1 parent 64d5ae5 commit b805479

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed
 

‎packages/mitmproxy/src/utils/util.match.js

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,27 @@ function domainMapRegexply (hostMap) {
3232
const regexpMap = {}
3333
const origin = {} // 用于快速匹配,见matchHostname、matchHostnameAll方法
3434
lodash.each(hostMap, (value, domain) => {
35-
// 将域名匹配串格式如 `.xxx.com` 转换为 `*.xxx.com`
36-
if (domain[0] === '.') {
37-
if (hostMap[`*${domain}`] != null) {
38-
return // 如果已经有匹配串 `*.xxx.com`,则忽略 `.xxx.com`
35+
try {
36+
// 将域名匹配串格式如 `.xxx.com` 转换为 `*.xxx.com`
37+
if (domain[0] === '.') {
38+
if (hostMap[`*${domain}`] != null) {
39+
return // 如果已经有匹配串 `*.xxx.com`,则忽略 `.xxx.com`
40+
}
41+
domain = `*${domain}`
3942
}
40-
domain = `*${domain}`
41-
}
4243

43-
if (domain.includes('*') || domain[0] === '^') {
44-
const regDomain = domain[0] !== '^' ? domainRegexply(domain) : domain
45-
regexpMap[regDomain] = value
44+
if (domain.includes('*') || domain[0] === '^') {
45+
const regDomain = domain[0] !== '^' ? domainRegexply(domain) : domain
46+
regexpMap[regDomain] = value
4647

47-
if (domain.indexOf('*') === 0 && domain.lastIndexOf('*') === 0) {
48+
if (domain.indexOf('*') === 0 && domain.lastIndexOf('*') === 0) {
49+
origin[domain] = value
50+
}
51+
} else {
4852
origin[domain] = value
4953
}
50-
} else {
51-
origin[domain] = value
54+
} catch (e) {
55+
log.error('匹配串有问题:', domain, e)
5256
}
5357
})
5458
regexpMap.origin = origin

0 commit comments

Comments
 (0)