diff options
author | Will Hunt <will@half-shot.uk> | 2023-08-24 15:40:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-24 10:40:26 -0400 |
commit | 0538e3e2dba8ff5bbc13f11d796e696f6ba8a7c7 (patch) | |
tree | f40c44f233f4ec5ac5a17a91a63ced0458d69c84 /synapse/config | |
parent | Bump serde_json from 1.0.104 to 1.0.105 (#16140) (diff) | |
download | synapse-0538e3e2dba8ff5bbc13f11d796e696f6ba8a7c7.tar.xz |
Add `Retry-After` to M_LIMIT_EXCEEDED error responses (#16136)
Implements MSC4041 behind an experimental configuration flag.
Diffstat (limited to 'synapse/config')
-rw-r--r-- | synapse/config/experimental.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/synapse/config/experimental.py b/synapse/config/experimental.py index 84d6dd13af..cabe0d4397 100644 --- a/synapse/config/experimental.py +++ b/synapse/config/experimental.py @@ -18,6 +18,7 @@ from typing import TYPE_CHECKING, Any, Optional import attr import attr.validators +from synapse.api.errors import LimitExceededError from synapse.api.room_versions import KNOWN_ROOM_VERSIONS, RoomVersions from synapse.config import ConfigError from synapse.config._base import Config, RootConfig @@ -406,3 +407,11 @@ class ExperimentalConfig(Config): self.msc4010_push_rules_account_data = experimental.get( "msc4010_push_rules_account_data", False ) + + # MSC4041: Use HTTP header Retry-After to enable library-assisted retry handling + # + # This is a bit hacky, but the most reasonable way to *alway* include the + # headers. + LimitExceededError.include_retry_after_header = experimental.get( + "msc4041_enabled", False + ) |