mirror of
https://github.com/element-hq/synapse
synced 2024-09-04 16:00:07 +00:00
Do the same for get_json
This commit is contained in:
parent
a1595cec78
commit
70caf49914
1 changed files with 21 additions and 8 deletions
|
@ -323,18 +323,31 @@ class MatrixProxyClient(object):
|
|||
result = yield self.simpleHttpClient.post_json_get_json(uri, post_json)
|
||||
defer.returnValue(result)
|
||||
except CodeMessageException as cme:
|
||||
ex = None
|
||||
try:
|
||||
errbody = json.loads(cme.msg)
|
||||
errcode = errbody['errcode']
|
||||
errtext = errbody['error']
|
||||
ex = SynapseError(cme.code, errtext, errcode)
|
||||
except:
|
||||
pass
|
||||
ex = self._tryGetMatrixError(cme.msg)
|
||||
if ex is not None:
|
||||
raise ex
|
||||
raise cme
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def get_json(self, uri, args={}):
|
||||
try:
|
||||
result = yield self.simpleHttpClient.get_json(uri, args)
|
||||
defer.returnValue(result)
|
||||
except CodeMessageException as cme:
|
||||
ex = self._tryGetMatrixError(cme.msg)
|
||||
if ex is not None:
|
||||
raise ex
|
||||
raise cme
|
||||
|
||||
def _tryGetMatrixError(self, body):
|
||||
try:
|
||||
errbody = json.loads(body)
|
||||
errcode = errbody['errcode']
|
||||
errtext = errbody['error']
|
||||
return SynapseError(cme.code, errtext, errcode)
|
||||
except:
|
||||
return None
|
||||
|
||||
|
||||
# XXX: FIXME: This is horribly copy-pasted from matrixfederationclient.
|
||||
# The two should be factored out.
|
||||
|
|
Loading…
Reference in a new issue