File tree Expand file tree Collapse file tree
packages/mitmproxy/src/utils Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2,17 +2,25 @@ const lodash = require('lodash')
22const log = require ( './util.log.server' )
33const mergeApi = require ( '@docmirror/dev-sidecar/src/merge' )
44
5+ const urlRegexpCache = new Map ( )
6+
57function isMatched ( url , regexp ) {
68 if ( regexp === '.*' || regexp === '*' || regexp === 'true' || regexp === true ) {
79 return [ url ]
810 }
911
1012 try {
11- let urlRegexp = regexp
12- if ( regexp [ 0 ] === '*' || regexp [ 0 ] === '?' || regexp [ 0 ] === '+' ) {
13- urlRegexp = `.${ regexp } `
13+ let compiled = urlRegexpCache . get ( regexp )
14+ if ( ! compiled ) {
15+ let urlRegexp = regexp
16+ if ( regexp [ 0 ] === '*' || regexp [ 0 ] === '?' || regexp [ 0 ] === '+' ) {
17+ urlRegexp = `.${ regexp } `
18+ }
19+ compiled = new RegExp ( urlRegexp )
20+ urlRegexpCache . set ( regexp , compiled )
1421 }
15- return url . match ( urlRegexp )
22+
23+ return url . match ( compiled )
1624 } catch {
1725 log . error ( '匹配串有问题:' , regexp )
1826 return null
You can’t perform that action at this time.
0 commit comments