Skip to content

Commit 74fc43b

Browse files
author
Rémi Parpaillon
committed
Handle invalid json response
When receiving an invalid json string, catch the json error generated and transmit to callback.
1 parent 4c0d490 commit 74fc43b

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/client.js

+12-3
Original file line numberDiff line numberDiff line change
@@ -272,11 +272,20 @@ module.exports = function (classes){
272272

273273
response.on('end', function responseEnd(){
274274
if (response.statusCode !== 200) {
275-
callback(new Error('"' + response.statusCode + '"' + data))
276-
;
275+
callback(new Error('"' + response.statusCode + '"' + data));
277276
return;
278277
}
279-
var decoded = JSON.parse(data);
278+
279+
var decoded;
280+
try {
281+
decoded = JSON.parse(data);
282+
} catch (error) {
283+
decoded = {
284+
error: error,
285+
result: undefined
286+
};
287+
}
288+
280289
if (_.isFunction(callback)) {
281290
if (!decoded.error) {
282291
decoded.error = null;

0 commit comments

Comments
 (0)