Skip to content

Coverage gap: combining repeated response header fields on store #187

Description

@mnot

Coverage gap

When a response carries the same header field name on multiple lines, a cache storing/forwarding it must combine the values into one comma-separated field, preserving order (RFC 9110 §5.3 / RFC 9111 §3.2). Only the request-side combining (of a Vary-selecting header) is tested; the response-side store-and-combine is not.

Currently tested

vary-normalise-combine (tests/vary.mjs) tests combining on the request (selecting-header) side. The server can emit duplicate response headers (test-engine/server/handle-test.mjs array-joins them) but no test asserts on the combined stored/served output.

Suggested test

Origin returns a response with two lines of the same field (e.g. X-Test-Header: a then X-Test-Header: b). Assert the cache stores/serves the combined value a, b (in order).

Tag

[MUST] — RFC 9110 §5.3


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