diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:10:37 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:11:17 +0200 |
commit | 7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch) | |
tree | 70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/node-fetch/lib/body.js | |
parent | aca1143cb9eed16cf37f04e475e4257418dd18ac (diff) |
fix build issues and add typedoc
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')); + } }); }; |