Skip to content

#1529: match complete cache age directive names - #1535

Open
gemshrine wants to merge 1 commit into
zerocracy:masterfrom
gemshrine:1529
Open

gemshrine wants to merge 1 commit into
zerocracy:masterfrom
gemshrine:1529

Conversation

@gemshrine

Copy link
Copy Markdown
Contributor

Fixes #1529.

The cache-age scan and replacement matched max-age and s-maxage anywhere in the joined header. An x-max-age or x-s-maxage extension before the actual freshness directive was rewritten instead, leaving the real age below the configured minimum.

Require the directive to start at the beginning of the header or after a comma separator, preserving that separator and the directive case during replacement. The regression covers both directive names in lowercase and mixed/uppercase forms, checking that extensions remain unchanged.

Checks: 33 SQLite store tests pass (124 assertions). The new regression fails on unchanged master. RuboCop and git diff --check pass. Selected runs disable the whole-project coverage threshold without changing CI configuration.

The full test suite was also run: 601 tests, 1631 assertions, 2 failures, 1 errors, 9 skips. Its failures are test_check_all_bills, test_fake_pull_request_base_repo_matches_requested_repo and the timing-sensitive test_processes_fact_when_slot_fits_the_timeout. The same three failures were reproduced on unchanged master f888443 with test ordering seed 58188; the full suite is not green.

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.

SqliteStore applies the minimum cache age to extension directives instead of max-age

1 participant