gatus/pattern/pattern.go

21 lines
607 B
Go
Raw Normal View History

2020-10-02 01:57:11 +02:00
package pattern
import (
"path/filepath"
"strings"
)
2020-10-02 01:57:11 +02:00
// Match checks whether a string matches a pattern
func Match(pattern, s string) bool {
if pattern == "*" {
return true
}
2021-01-16 02:11:43 +01:00
// Separators found in the string break filepath.Match, so we'll remove all of them.
// This has a pretty significant impact on performance when there are separators in
// the strings, but at least it doesn't break filepath.Match.
s = strings.ReplaceAll(s, string(filepath.Separator), "")
pattern = strings.ReplaceAll(pattern, string(filepath.Separator), "")
2020-10-02 01:57:11 +02:00
matched, _ := filepath.Match(pattern, s)
return matched
}