Validation And Star Semantics¶
Field validation¶
vary uses HTTP token syntax for field names. Use
is_valid_field_name when validating user-supplied names before calling
append or vary:
if (!polycpp::vary::is_valid_field_name(name)) {
// Reject the input or report a validation error.
}
Invalid field names throw polycpp::TypeError and do not mutate
polycpp::http::Headers or response-like objects.
Star behavior¶
* means the response varies on all request headers. It dominates all other
fields:
polycpp::vary::append("Accept, Accept-Encoding", "*");
// returns "*"
polycpp::vary::append("*", "Origin");
// returns "*"
This matches upstream behavior and is release-blocking compatibility.