Skip to content

Coverage gap: Vary field-name case-insensitivity #188

Description

@mnot

Coverage gap

Field names in a Vary value are case-insensitive (RFC 9110 §5.1): Vary: FOO must select on request header Foo. The suite tests value-case normalization but not field-name case.

Currently tested

vary-normalise-lang-case (tests/vary.mjs) tests the value case of Accept-Language. All Vary tests use exact-case field names in both the Vary value and the request headers.

Suggested test

Store a response with Vary: FOO (uppercase) and request header Foo: 1. A matching subsequent request (Foo: 1) must be served cached; a non-matching one (Foo: 2) must be not_cached — i.e. selection works despite the case mismatch between the Vary token and the actual header name.

Tag

[MUST] — RFC 9110 §5.1


Filed from an AI-assisted (Claude Code) coverage audit against RFC 9111/9110, under maintainer direction. Absence was grep-verified; the spec section number and MUST/SHOULD/optimal strength are from model knowledge, not re-read from the RFC text — worth confirming before writing the test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions