func CELMatcherRuntimeFunction(funcName string, fac CELMatcherFactory) functions.BinaryOp {
	return func(celReq, matcherData ref.Val) ref.Val {
		matcher, err := fac(matcherData)
		if err != nil {
			return types.NewErr(err.Error())
		}
		httpReq := celReq.Value().(celHTTPRequest)
		return types.Bool(matcher.Match(httpReq.Request))
	}
}
// CELMatcherRuntimeFunction creates a function binding for when the input to the matcher
// is dynamically resolved rather than a set of static constant values.
CELMatcherRuntimeFunction creates a function binding for when the input to the matcher
is dynamically resolved rather than a set of static constant values.
// CELMatcherRuntimeFunction creates a function binding for when the input to the matcher // is dynamically resolved rather than a set of static constant values .
func CELMatcherRuntimeFunction(funcName string, fac CELMatcherFactory) functions.BinaryOp {
	return func(celReq, matcherData ref.Val) ref.Val {
		matcher, err := fac(matcherData)
		if err != nil {
			return types.NewErr(err.Error())
		}
		httpReq := celReq.Value().(celHTTPRequest)
		return types.Bool(matcher.Match(httpReq.Request))
	}
}
func CELMatcherRuntimeFunction ( funcName string , fac CELMatcherFactory ) functions . BinaryOp { return func ( celReq , matcherData ref . Val ) ref . Val { matcher , err := fac ( matcherData ) if err != nil { return types . NewErr ( err . Error ( ) ) } httpReq := celReq . Value ( ) . ( celHTTPRequest ) return types . Bool ( matcher . Match ( httpReq . Request ) ) } }
CELMatcherRuntimeFunction creates a function binding for when the input to the matcher
is dynamically resolved rather than a set of static constant values.
CELMatcherRuntimeFunction creates a function binding for when the input to the matcher is dynamically resolved rather than a set of static constant values .