mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 13:10:24 +08:00 
			
		
		
		
	优化URL匹配方法
This commit is contained in:
		@@ -34,7 +34,7 @@ func (this *URLPattern) Init() error {
 | 
				
			|||||||
		for index, piece := range pieces {
 | 
							for index, piece := range pieces {
 | 
				
			||||||
			pieces[index] = regexp.QuoteMeta(piece)
 | 
								pieces[index] = regexp.QuoteMeta(piece)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		reg, err := regexp.Compile("(?i)" /** 大小写不敏感 **/ + strings.Join(pieces, "(.*)"))
 | 
							reg, err := regexp.Compile("(?i)" /** 大小写不敏感 **/ + "^" + strings.Join(pieces, "(.*)") + "$")
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return err
 | 
								return err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,6 +43,12 @@ func TestURLPattern_Match(t *testing.T) {
 | 
				
			|||||||
			url:         "https://example.com",
 | 
								url:         "https://example.com",
 | 
				
			||||||
			result:      true,
 | 
								result:      true,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								patternType: "wildcard",
 | 
				
			||||||
 | 
								pattern:     "*COM",
 | 
				
			||||||
 | 
								url:         "https://example.com/hello",
 | 
				
			||||||
 | 
								result:      false,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			patternType: "wildcard",
 | 
								patternType: "wildcard",
 | 
				
			||||||
			pattern:     "http://*",
 | 
								pattern:     "http://*",
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user