More graceful handling of bad match functions

This commit is contained in:
IamTheFij 2022-01-28 09:53:21 -08:00
parent 2123308227
commit 2dad184dcf

View File

@ -51,12 +51,18 @@ func MakeMatchFunc(rule string) MatchFunc {
"hostname": dest.Hostname(), "hostname": dest.Hostname(),
"url": dest, "url": dest,
} }
matchFunc, err := expr.Eval(rule, env) matchFuncExpr, err := expr.Eval(rule, env)
if err != nil { if err != nil {
panic(err) fmt.Printf("Error evaluating rule %s: %v", rule, err)
return false
} }
return matchFunc.(MatchFunc)(dest) matchFunc, ok := matchFuncExpr.(MatchFunc)
if !ok {
fmt.Printf("Error evaluating rule %s. Did not evaluate to a MatchFunc.", rule)
return false
}
return matchFunc(dest)
} }
} }