Repository navigation
headers: classify If-Range validators by syntax - #12049
brophdawg11 merged 5 commits into
Conversation
Keep empty values matching unconditionally and retain the enumerable value field. Remove copying support and presence tracking so the fix stays focused on date and entity-tag comparison.
|
Pushed 3677d3f to keep this fix focused on validator classification: HTTP dates compare only against The update preserves the existing public API and empty-value behavior. Empty and absent values still match unconditionally, The regression tests cover empty input, subsequent mutation, All 458 headers tests and 202 response tests passed, along with both package typechecks, formatting, and release preview. Local lint remains blocked by the nested worktree inheriting the parent checkout's Authored by an AI agent on behalf of @brophdawg11 |
brophdawg11
left a comment
There was a problem hiding this comment.
Looks good. The fix classifies If-Range validators before comparison, using Last-Modified for HTTP dates and exact strong ETag comparison for quoted tags. Malformed nonempty values fail the condition. Existing empty/absent behavior, the enumerable value field, and constructor/from input types are preserved. Regression tests, spec links, README, and the change file reflect that scope. All 458 headers tests, 202 response tests, both package typechecks, formatting, and release preview passed locally; CI lint has also passed.
Authored by an AI agent on behalf of @brophdawg11
IfRange.matches()currently conflates absent and explicitly empty fields, lets HTTP dates fall through to ETag comparison, and normalizes malformed bare values into entity tags.Track field presence through construction and mutation, classify only valid HTTP dates or quoted strong entity tags, and keep
SuperHeadersnative storage and typed values synchronized across empty mutations.Closes #12042