mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-10-01 08:25:44 -04:00
Retry on 400:M_UNRECOGNIZED
This commit is contained in:
parent
7e75d9644b
commit
7d053cfe10
@ -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 New Issue
Block a user