1
0
Fork 0
mirror of https://github.com/element-hq/synapse.git synced 2025-03-21 23:32:15 +00:00
synapse/tests/rest/client
Erik Johnston 59a15da433
Add caching support to media endpoints ()
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
..
sliding_sync Bust _membership_stream_cache cache when current state changes () 2025-01-08 10:11:09 -06:00
__init__.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_account.py Bump mypy from 1.8.0 to 1.9.0 () 2024-06-13 15:50:10 +01:00
test_account_data.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_auth.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_auth_metadata.py Support the new /auth_metadata endpoint defined in MSC2965. () 2025-01-21 13:48:49 +01:00
test_capabilities.py Implement MSC4133 to support custom profile fields. () 2025-01-21 11:11:04 +00:00
test_consent.py Update license headers 2023-11-21 15:29:58 -05:00
test_delayed_events.py Define delayed event ratelimit category () 2025-02-25 17:22:01 +00:00
test_devices.py Support for MSC4190: device management for application services () 2024-12-04 12:04:49 +01:00
test_directory.py Update license headers 2023-11-21 15:29:58 -05:00
test_ephemeral_message.py Update license headers 2023-11-21 15:29:58 -05:00
test_events.py Format files with Ruff () 2024-09-02 12:39:04 +01:00
test_filter.py Bump mypy from 1.5.1 to 1.8.0 () 2024-03-13 17:05:57 +00:00
test_identity.py Update license headers 2023-11-21 15:29:58 -05:00
test_keys.py Use custom stage UIA error for MAS cross-signing reset () 2024-08-30 14:52:57 +02:00
test_login.py Cleanup Python 3.8 leftovers () 2025-02-10 16:53:24 +00:00
test_login_token_request.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_media.py Add caching support to media endpoints () 2025-03-13 16:28:19 +00:00
test_models.py Cleanup Python 3.8 leftovers () 2025-02-10 16:53:24 +00:00
test_mutual_rooms.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_notifications.py Require the 'from' parameter for /notifications be an integer () 2024-06-19 10:05:39 +01:00
test_owned_state.py Support MSC3757: Restricting who can overwrite a state event () 2024-09-26 15:25:05 +02:00
test_password_policy.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_power_levels.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_presence.py Ratelimit presence updates () 2025-01-24 19:58:01 +00:00
test_profile.py Implement MSC4133 to support custom profile fields. () 2025-01-21 11:11:04 +00:00
test_push_rule_attrs.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_read_marker.py Do not refuse to set read_marker if previous event_id is in wrong room () 2024-03-21 18:43:07 +00:00
test_receipts.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_redactions.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_register.py Support for MSC4190: device management for application services () 2024-12-04 12:04:49 +01:00
test_relations.py Stabliize support for MSC3981: recurse /relations () 2024-04-09 17:11:08 +01:00
test_rendezvous.py Fix MSC4108 'rendez-vous' responses with some reverse proxy in the front of Synapse () 2025-02-25 11:34:33 +01:00
test_reporting.py Support & use stable endpoints for MSC4151 () 2024-10-31 09:55:30 +00:00
test_retention.py Include user membership on events () 2024-06-13 21:45:54 +00:00
test_rooms.py Define delayed event ratelimit category () 2025-02-25 17:22:01 +00:00
test_sendtodevice.py Add Sliding Sync /sync/e2ee endpoint for To-Device messages () 2024-05-23 12:06:16 -05:00
test_shadow_banned.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_sync.py Optimise notifier () 2024-09-30 12:58:13 +01:00
test_tags.py Check if user is in room before being able to tag it () 2024-10-30 11:55:23 -05:00
test_third_party_rules.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_transactions.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_typing.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
test_upgrade_room.py Correctly mention previous copyright () 2024-01-23 11:26:48 +00:00
utils.py Cleanup Python 3.8 leftovers () 2025-02-10 16:53:24 +00:00