diff --git a/config.go b/config.go index 63305d8..c40173d 100644 --- a/config.go +++ b/config.go @@ -51,12 +51,18 @@ func MakeMatchFunc(rule string) MatchFunc { "hostname": dest.Hostname(), "url": dest, } - matchFunc, err := expr.Eval(rule, env) + matchFuncExpr, err := expr.Eval(rule, env) 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) } }