func (v *validatorRule) Valid(w http.ResponseWriter, r *http.Request) bool {
	// check if it's a valid response, if it's not then just return.
	for _, valid := range v.postValidators {
		if !valid(w, r) {
			return false
		}
	}
	return true
}
func (v *validatorRule) Valid(w http.ResponseWriter, r *http.Request) bool {
	// check if it's a valid response, if it's not then just return.
	for _, valid := range v.postValidators {
		if !valid(w, r) {
			return false
		}
	}
	return true
}
// Valid returns true if incoming request and post-response from the original handler
// is valid to be store to the cache, if not(false) then the consumer should just exit
// otherwise(true) the consumer should store the cached response