aboutsummaryrefslogtreecommitdiff
path: root/node_modules/node-fetch/lib/body.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-24 15:10:37 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-24 15:11:17 +0200
commit7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch)
tree70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/node-fetch/lib/body.js
parentaca1143cb9eed16cf37f04e475e4257418dd18ac (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.js11
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'));
+ }
});
};