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

Commit 1ba35f4

Browse files
committed
.catReadableStream
1 parent a3efca9 commit 1ba35f4

File tree

3 files changed

+31
-2
lines changed

3 files changed

+31
-2
lines changed

src/files/cat-readable-stream.js

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

src/files/index.js

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

src/utils/load-commands.js

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

0 commit comments

Comments
 (0)