Try to be more verbose with JSON decode errors (#47066)

* Try to be more verbose with JSON decode errors
This commit is contained in:
Nathaniel Case 2018-10-18 12:09:00 -04:00 committed by GitHub
parent bcd6dbcd65
commit 3feb6c9e0f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -164,12 +164,19 @@ class Connection(object):
try:
out = self.send(data)
response = json.loads(out)
except socket.error as e:
raise ConnectionError('unable to connect to socket. See the socket_path issue catergory in Network Debug and Troubleshooting Guide',
err=to_text(e, errors='surrogate_then_replace'), exception=traceback.format_exc())
try:
response = json.loads(out)
except ValueError:
params = list(args) + ['{0}={1}'.format(k, v) for k, v in iteritems(kwargs)]
params = ', '.join(params)
raise ConnectionError(
"Unable to decode JSON from response to {0}({1}). Received '{2}'.".format(name, params, out)
)
if response['id'] != reqid:
raise ConnectionError('invalid json-rpc id received')