synapse/tests/rest
Erik Johnston 59a15da433
Add caching support to media endpoints (#18235)
We do a few things in this PR to better support caching:

1. Change `Cache-Control` header to allow intermediary proxies to cache
media *only* if they revalidate on every request. This means that the
intermediary cache will still send the request to Synapse but with a
`If-None-Match` header, at which point Synapse can check auth and
respond with a 304 and empty content.
2. Add `ETag` response header to all media responses. We hardcode this
to `1` since all media is immutable (beyond being deleted).
3. Check for `If-None-Match` header (after checking for auth), and if it
matches then respond with a 304 and empty body.

---------

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2025-03-13 16:28:19 +00:00
..
admin Disable room list publication by default (#18175) 2025-02-24 12:06:16 +00:00
client Add caching support to media endpoints (#18235) 2025-03-13 16:28:19 +00:00
key Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
media Enable authenticated media by default (#17889) 2024-11-20 14:48:22 +00:00
synapse An federation whitelist query endpoint extension (#16848) 2024-05-13 19:38:45 +00:00
__init__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_health.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_well_known.py Format files with Ruff (#17643) 2024-09-02 12:39:04 +01:00