Skip to content

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

@mnot

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions