diff options
Diffstat (limited to 'node_modules/node-fetch/lib/body.js')
-rw-r--r-- | node_modules/node-fetch/lib/body.js | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/node_modules/node-fetch/lib/body.js b/node_modules/node-fetch/lib/body.js index e7bbe1dac..19bc003fe 100644 --- a/node_modules/node-fetch/lib/body.js +++ b/node_modules/node-fetch/lib/body.js @@ -39,13 +39,14 @@ function Body(body, opts) { */ Body.prototype.json = function() { - // for 204 No Content response, buffer will be empty, parsing it will throw error - if (this.status === 204) { - return Body.Promise.resolve({}); - } + var self = this; return this._decode().then(function(buffer) { - return JSON.parse(buffer.toString()); + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError('invalid json response body at ' + self.url + ' reason: ' + err.message, 'invalid-json')); + } }); }; |