Whoosh
Whoosh is an ultra thin wrapper for SFTPStream. It's so thin that there's not much point using it unless you want to stream in memory content to/from an SFTP server.
Usage
Connecting
Whoosh.connect({
hostname: 'sftp.example.com',
port: 22,
username: 'fred',
password: 'secret'
}, function(err, whoosh) {
})
See the ssh2 client docs for a full list of connection parameters
Write the contents of a variable to a remote file
var content = 'my content'
Whoosh.connect(config, function(err, whoosh) {
if (err) return bail(err)
whoosh.putContent('some/remote/file.txt', content, options, function(err, stats) {
whoosh.disconnect(function() {
if (err) return bail(err)
console.log('Uploaded ' + stats.size + ' bytes')
})
})
})
Read the contents of a remote file into a variable
Whoosh.connect(config, function(err, whoosh) {
if (err) return bail(err)
whoosh.putContent('some/remote/file.txt', 'my content', options, function(err, content) {
whoosh.disconnect(function() {
if (err) return bail(err)
console.log('Downloaded ' + Buffer.byteLength(content.length) + ' bytes')
)}
})
})
What are my options?
The options parameters are passed straight through to SFTPStream's createReadStream
and createWriteStream
methods respectively. You can omit the options parameter entirely if you wish.
Everything else
The whoosh
object is just a decorated instance of SFTPStream so all the other SFTP methods are available. e.g.
Whoosh.connect(config, function(err, whoosh) {
if (err) return bail(err)
whoosh.unlink('some/remote/file.txt', function(err) {
whoosh.disconnect(function() {
if (err) return bail(err)
console.log('Deleted some/remote/file.txt')
})
})
})