Skip to content
This repository was archived by the owner on Mar 10, 2020. It is now read-only.

Commit d1d3915

Browse files
committed
catPullStream
1 parent 1ba35f4 commit d1d3915

File tree

4 files changed

+34
-2
lines changed

4 files changed

+34
-2
lines changed

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,13 @@
4545
"peer-info": "~0.11.1",
4646
"promisify-es6": "^1.0.3",
4747
"pull": "^2.1.1",
48+
"pull-defer": "^0.2.2",
4849
"pull-pushable": "^2.1.1",
4950
"pump": "^1.0.2",
5051
"qs": "^6.5.1",
5152
"readable-stream": "^2.3.3",
5253
"stream-http": "^2.7.2",
54+
"stream-to-pull-stream": "^1.7.2",
5355
"streamifier": "^0.1.1",
5456
"tar-stream": "^1.5.5"
5557
},

src/files/cat-pull-stream.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
'use strict'
2+
3+
const cleanCID = require('../utils/clean-cid')
4+
const v = require('is-ipfs')
5+
const toPull = require('stream-to-pull-stream')
6+
const deferred = require('pull-defer')
7+
8+
module.exports = (send) => {
9+
return (hash, opts) => {
10+
opts = opts || {}
11+
12+
const p = deferred.source()
13+
14+
try {
15+
hash = cleanCID(hash)
16+
} catch (err) {
17+
if (!v.ipfsPath(hash)) {
18+
return p.end(err)
19+
}
20+
}
21+
22+
send({ path: 'cat', args: hash, buffer: opts.buffer }, (err, stream) => {
23+
if (err) { return p.end(err) }
24+
25+
p.resolve(toPull(stream))
26+
})
27+
28+
return p
29+
}
30+
}

src/files/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ module.exports = (arg) => {
1111
addPullStream: require('./add-pull-stream')(send),
1212
cat: require('./cat')(send),
1313
catReadableStream: require('./cat-readable-stream')(send),
14-
// catPullStream: require('./cat-pull-stream')(send),
14+
catPullStream: require('./cat-pull-stream')(send),
1515
get: require('./get')(send),
1616
// getReadableStream: require('./get-readable-stream')(send),
1717
// getPullStream: require('./get-pull-stream')(send),

src/utils/load-commands.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ function requireCommands () {
88
addPullStream: require('../files/add-pull-stream'),
99
cat: require('../files/cat'),
1010
catReadableStream: require('../files/cat-readable-stream'),
11-
// catPullStream: require('../files/cat-pull-stream'),
11+
catPullStream: require('../files/cat-pull-stream'),
1212
get: require('../files/get'),
1313
// getReadableStream: require('../files/get-readable-stream'),
1414
// getPullStream: require('../files/get-pull-stream'),

0 commit comments

Comments
 (0)