Here's abstract code to read a file on SFTP server using node-ssh.
It was working fine till I was using node 16. But the ssh.dispose statement started throwing error after I migrated to node 18.
It is still able to connect with server and read file, but throws error while desposing connection.
It seems upgrade is required on library to make it compatible with node 18. Would you be able to help check.
Thanks in advance for any info / support.
Error :
Error: No response from server at cleanupRequests (node_modules/ssh2/lib/protocol/SFTP.js:2730:15) at SFTP.push (node_modules/ssh2/lib/protocol/SFTP.js:191:7) at onCHANNEL_CLOSE (node_modules/ssh2/lib/utils.js:50:13) at ChannelManager.cleanup (/usr/src/app/node_modules/ssh2/lib/utils.js:200:7)
Code :
import { NodeSSH } from 'node-ssh';
async function readFile(path: string): Promise<string> {
let ssh: NodeSSH | null = null;
try {
const ssh = new NodeSSH()
await ssh.connect({
host, username, password
})
const sftp = await ssh.requestSFTP();
const fstream = sftp.createReadStream(path);
return await convertStreamToString(fstream); // local function to convert stream into a string format using chunks & Buffer
} catch() {
// throw error
} finally {
await ssh?.dispose();
}
}
Here's abstract code to read a file on SFTP server using node-ssh.
It was working fine till I was using node 16. But the ssh.dispose statement started throwing error after I migrated to node 18. It is still able to connect with server and read file, but throws error while desposing connection.
It seems upgrade is required on library to make it compatible with node 18. Would you be able to help check. Thanks in advance for any info / support.
Error :
Error: No response from server at cleanupRequests (node_modules/ssh2/lib/protocol/SFTP.js:2730:15) at SFTP.push (node_modules/ssh2/lib/protocol/SFTP.js:191:7) at onCHANNEL_CLOSE (node_modules/ssh2/lib/utils.js:50:13) at ChannelManager.cleanup (/usr/src/app/node_modules/ssh2/lib/utils.js:200:7)
Code :