Quickstart

This page appends a Vary field to a header string and then mutates polycpp::http::Headers.

Program

#include <iostream>

#include <polycpp/vary/vary.hpp>

int main() {
    std::cout << polycpp::vary::append("Accept", "Origin") << '\n';

    polycpp::http::Headers headers;
    polycpp::vary::vary(headers, polycpp::vary::FieldList{"Origin", "User-Agent"});
    std::cout << headers.get("Vary").value_or("") << '\n';
}

Expected output

Accept, Origin
Origin, User-Agent

Key behavior

  • Duplicate checks are case-insensitive.

  • Existing and appended field casing is preserved.

  • Field strings may contain comma-separated Vary values.

  • Empty field vectors are no-ops and do not create a missing Vary header.

  • polycpp::vary::HeaderMap is a compatibility alias for polycpp::http::Headers.