Skip to content

Accept quoted numeric Cache-Control arguments - #490

Closed
edsonsims wants to merge 1 commit into
psf:masterfrom
edsonsims:fix/quoted-cache-control-numbers
Closed

edsonsims wants to merge 1 commit into
psf:masterfrom
edsonsims:fix/quoted-cache-control-numbers

Conversation

@edsonsims

Copy link
Copy Markdown

Cache-Control values such as max-age="600" are currently discarded during numeric parsing. A fresh response can therefore be fetched from the origin again, and a request with max-age="0" can miss the cache-bypass path.

I remove one balanced pair of double quotes before the existing integer conversion for numeric directives. This follows the recipient-tolerance guidance in RFC 9111 section 5.2; it does not change the sender's token-form requirement. Malformed values retain the existing handling, and the freshness/Age calculations are unchanged.

Validation: 152 tests passed, including real HTTP cached-body replay and quoted request bypass; the regression selection has 15 failures against the original source. Ruff lint and MyPy pass. The coverage run retains a Cheroot cleanup warning also reproduced on the original source. Existing codespell findings and an unrelated controller docstring-format finding are unchanged.

@woodruffw woodruffw closed this Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants