-
Couldn't load subscription status.
- Fork 1.2k
fix: files.cat: detect and handle errors when unknown path and cat dir #1143
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -137,10 +137,19 @@ module.exports = function files (self) { | |
| pull.collect((err, files) => { | ||
| if (err) { d.end(err) } | ||
| if (!files || !files.length) { | ||
| return d.end(new Error('No such file')) | ||
| return d.abort(new Error('No such file')) | ||
| } | ||
|
|
||
| const content = files[files.length - 1].content | ||
| if (files.length > 1) { | ||
| files = files.filter((file) => file.path === ipfsPath) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Theres's still an issue here, where "tour" dir is being filtered out prematurely because the output path doesn't match the input. Digging in... There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ... which should be fixed f6c15c6 |
||
| } | ||
|
|
||
| const file = files[0] | ||
|
|
||
| const content = file.content | ||
| if (!content && file.type === 'dir') { | ||
| return d.abort(new Error('this dag node is a directory')) | ||
| } | ||
| d.resolve(content) | ||
| }) | ||
| ) | ||
|
|
@@ -206,21 +215,16 @@ module.exports = function files (self) { | |
| addPullStream: _addPullStream, | ||
|
|
||
| cat: promisify((ipfsPath, callback) => { | ||
| const p = _catPullStream(ipfsPath) | ||
| pull( | ||
| p, | ||
| _catPullStream(ipfsPath), | ||
| pull.collect((err, buffers) => { | ||
| if (err) { return callback(err) } | ||
| callback(null, Buffer.concat(buffers)) | ||
| }) | ||
| ) | ||
| }), | ||
|
|
||
| catReadableStream: (ipfsPath) => { | ||
| const p = _catPullStream(ipfsPath) | ||
|
|
||
| return toStream.source(p) | ||
| }, | ||
| catReadableStream: (ipfsPath) => toStream.source(_catPullStream(ipfsPath)), | ||
|
|
||
| catPullStream: _catPullStream, | ||
|
|
||
|
|
||

There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this missing a return?