- classes.SiteCachePurger, NewSiteCachePurger, PurgeSiteCacheAfterCommit and
the key and limit constants stay as deprecated aliases for one release
- wireSiteCache: framework keys site_cache.* win (Journal keys ignored with
a warning); with only golem15.journal.site_cache.* set it publishes the
purger from them with a deprecation warning, so menu and FAQ saves purge
through it too
- controllers take the purger from cooler.SiteCacheFromApp
- TestSiteCacheFrameworkKeysWin; README documents both key sets
- posts: FormAfterCreate/Update purge after the content_html translations,
new FormAfterDelete; categories: FormAfterCreate and FormAfterDelete
- NewSiteCachePurger refuses half configuration, non-http(s) URLs, user
info, fragments, http to a non-loopback host and tokens under 32 chars;
Boot logs the endpoint host and path once
- TestPostsAdminPurgesSiteCache smoke test
- README: Configuration section (keys, contract, timing, scope), API rows
- classes.SiteCachePurger posts {kind, slug} with a bearer token to
golem15.journal.site_cache.purge_url, 2 s timeout, logged, never fails a save
- PurgeSiteCacheAfterCommit runs it through lagoon.AfterCommit
- Boot builds and publishes the purger from the two config keys
- categories FormAfterUpdate registers the purge; Postgres test proves
one authorized request after the commit