mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-16 16:33:51 +01:00
Retry on 400:M_UNRECOGNIZED
This commit is contained in:
parent
7e75d9644b
commit
7d053cfe10
1 changed files with 11 additions and 7 deletions
|
@ -474,8 +474,7 @@ class MatrixFederationHttpClient(object):
|
||||||
long_retries=False, timeout=None,
|
long_retries=False, timeout=None,
|
||||||
ignore_backoff=False,
|
ignore_backoff=False,
|
||||||
backoff_on_404=False,
|
backoff_on_404=False,
|
||||||
try_trailing_slash_on_404=False,
|
try_trailing_slash_on_404=False):
|
||||||
):
|
|
||||||
""" Sends the specifed json data using PUT
|
""" Sends the specifed json data using PUT
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
@ -662,14 +661,19 @@ class MatrixFederationHttpClient(object):
|
||||||
|
|
||||||
response = yield self._send_request(**send_request_args)
|
response = yield self._send_request(**send_request_args)
|
||||||
|
|
||||||
# If enabled, retry with a trailing slash if we received a 404
|
|
||||||
if try_trailing_slash_on_404 and response.code == 404:
|
|
||||||
args["path"] += "/"
|
|
||||||
response = yield self._send_request(**send_request_args)
|
|
||||||
|
|
||||||
body = yield _handle_json_response(
|
body = yield _handle_json_response(
|
||||||
self.hs.get_reactor(), self.default_timeout, request, response,
|
self.hs.get_reactor(), self.default_timeout, request, response,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# If enabled, retry with a trailing slash if we received a 404
|
||||||
|
# or if a 400 with "M_UNRECOGNIZED" which some endpoints return
|
||||||
|
if (try_trailing_slash_on_404 and
|
||||||
|
(response.code == 404
|
||||||
|
or (response.code == 400
|
||||||
|
and body.get("errcode") == "M_UNRECOGNIZED"))):
|
||||||
|
args["path"] += "/"
|
||||||
|
response = yield self._send_request(**send_request_args)
|
||||||
|
|
||||||
defer.returnValue(body)
|
defer.returnValue(body)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
|
|
Loading…
Reference in a new issue