From 94858536dfd03db247570207eb164fce24cd445a Mon Sep 17 00:00:00 2001 From: Dirk McCormick Date: Wed, 15 May 2019 07:41:00 -0600 Subject: [PATCH 1/3] fix: error handling for refs/refs local --- src/files-regular/refs-local-readable-stream.js | 2 ++ src/files-regular/refs-readable-stream.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/files-regular/refs-local-readable-stream.js b/src/files-regular/refs-local-readable-stream.js index 0d8bc15bf..09fddde1d 100644 --- a/src/files-regular/refs-local-readable-stream.js +++ b/src/files-regular/refs-local-readable-stream.js @@ -13,6 +13,8 @@ module.exports = (send) => { send({ path: 'refs/local', qs: opts }, (err, stream) => { if (err) { return pt.destroy(err) } + stream.once('error', (err) => pt.destroy(err)) + pump(stream, through.obj(function (r, enc, cb) { cb(null, { ref: r.Ref, err: r.Err }) }), pt) diff --git a/src/files-regular/refs-readable-stream.js b/src/files-regular/refs-readable-stream.js index 4c9ae2d1f..b5cf69c48 100644 --- a/src/files-regular/refs-readable-stream.js +++ b/src/files-regular/refs-readable-stream.js @@ -20,6 +20,8 @@ module.exports = (send) => { send({ path: 'refs', args, qs: opts }, (err, stream) => { if (err) { return pt.destroy(err) } + stream.once('error', (err) => pt.destroy(err)) + pump(stream, through.obj(function (r, enc, cb) { cb(null, { ref: r.Ref, err: r.Err }) }), pt) From bbb471c39e76a53f0761b682cec81ac506e3b829 Mon Sep 17 00:00:00 2001 From: Dirk McCormick Date: Wed, 15 May 2019 09:08:49 -0600 Subject: [PATCH 2/3] fix: ensure errors are passed back from stream-to-value --- src/utils/stream-to-value.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/utils/stream-to-value.js b/src/utils/stream-to-value.js index fa7068d46..d28fd6130 100644 --- a/src/utils/stream-to-value.js +++ b/src/utils/stream-to-value.js @@ -7,14 +7,12 @@ const concat = require('concat-stream') Concatenate a stream to a single value. */ function streamToValue (response, callback) { + let data pump( response, - concat((data) => callback(null, data)), - (err) => { - if (err) { - callback(err) - } - }) + concat((d) => { data = d }), + (err) => callback(err, data) + ) } module.exports = streamToValue From 8274a73c96b2111128a50c62771eed4630f2cf20 Mon Sep 17 00:00:00 2001 From: Dirk McCormick Date: Thu, 16 May 2019 11:08:47 -0400 Subject: [PATCH 3/3] chore: update interface-ipfs-core --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index deeef433d..c5f2e5bad 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "dirty-chai": "^2.0.1", "eslint-plugin-react": "^7.11.1", "go-ipfs-dep": "0.4.19", - "interface-ipfs-core": "~0.101.0", + "interface-ipfs-core": "~0.101.1", "ipfsd-ctl": "~0.42.0", "nock": "^10.0.2", "stream-equal": "^1.1.1"