File tree Expand file tree Collapse file tree 1 file changed +16
-12
lines changed
packages/mitmproxy/src/utils Expand file tree Collapse file tree 1 file changed +16
-12
lines changed Original file line number Diff line number Diff line change @@ -32,23 +32,27 @@ function domainMapRegexply (hostMap) {
32
32
const regexpMap = { }
33
33
const origin = { } // 用于快速匹配,见matchHostname、matchHostnameAll方法
34
34
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 } `
39
42
}
40
- domain = `*${ domain } `
41
- }
42
43
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
46
47
47
- if ( domain . indexOf ( '*' ) === 0 && domain . lastIndexOf ( '*' ) === 0 ) {
48
+ if ( domain . indexOf ( '*' ) === 0 && domain . lastIndexOf ( '*' ) === 0 ) {
49
+ origin [ domain ] = value
50
+ }
51
+ } else {
48
52
origin [ domain ] = value
49
53
}
50
- } else {
51
- origin [ domain ] = value
54
+ } catch ( e ) {
55
+ log . error ( '匹配串有问题:' , domain , e )
52
56
}
53
57
} )
54
58
regexpMap . origin = origin
You can’t perform that action at this time.
0 commit comments