From e72cafdc130474df6e22b05ceecbb44ce6a799ac Mon Sep 17 00:00:00 2001 From: Cayle Sharrock Date: Mon, 25 Apr 2016 21:20:07 +0200 Subject: [PATCH] Handle non-json HTTP errors --- lib/errorHandler.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/errorHandler.js b/lib/errorHandler.js index ed4b046..01c1c49 100644 --- a/lib/errorHandler.js +++ b/lib/errorHandler.js @@ -40,10 +40,15 @@ function handleHttpError(err, response, callback) { if (response.statusCode !== 200 && response.statusCode !== 201 && response.statusCode !== 204) { - var errorBody = _parseError(JSON.parse(response.body)); - var error = createError(response.statusCode, - errorBody.message, - {name: _convertErrorName(errorBody.id)}); + var error; + try { + var errorBody = _parseError(JSON.parse(response.body)); + error = createError(response.statusCode, + errorBody.message, + {name: _convertErrorName(errorBody.id)}); + } catch (ex) { + error = createError(response.statusCode, response.body); + } callback(error, null); return true; }