fix(FTP Node): Fix issue with connections not closing properly (#8619)

This commit is contained in:
Jon 2024-02-13 14:32:21 +00:00 committed by GitHub
parent a3bed97883
commit e597fbc78f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -439,8 +439,8 @@ export class Ftp implements INodeType {
credential: ICredentialsDecrypted,
): Promise<INodeCredentialTestResult> {
const credentials = credential.data as ICredentialDataDecryptedObject;
const ftp = new ftpClient();
try {
const ftp = new ftpClient();
await ftp.connect({
host: credentials.host as string,
port: credentials.port as number,
@ -448,11 +448,13 @@ export class Ftp implements INodeType {
password: credentials.password as string,
});
} catch (error) {
await ftp.end();
return {
status: 'Error',
message: error.message,
};
}
await ftp.end();
return {
status: 'OK',
message: 'Connection successful!',
@ -463,8 +465,8 @@ export class Ftp implements INodeType {
credential: ICredentialsDecrypted,
): Promise<INodeCredentialTestResult> {
const credentials = credential.data as ICredentialDataDecryptedObject;
const sftp = new sftpClient();
try {
const sftp = new sftpClient();
if (credentials.privateKey) {
await sftp.connect({
host: credentials.host as string,
@ -483,11 +485,13 @@ export class Ftp implements INodeType {
});
}
} catch (error) {
await sftp.end();
return {
status: 'Error',
message: error.message,
};
}
await sftp.end();
return {
status: 'OK',
message: 'Connection successful!',
@ -511,10 +515,9 @@ export class Ftp implements INodeType {
} else {
credentials = await this.getCredentials('ftp');
}
let ftp: ftpClient;
let sftp: sftpClient;
try {
let ftp: ftpClient;
let sftp: sftpClient;
if (protocol === 'sftp') {
sftp = new sftpClient();
if (credentials.privateKey) {
@ -809,6 +812,11 @@ export class Ftp implements INodeType {
await ftp!.end();
}
} catch (error) {
if (protocol === 'sftp') {
await sftp!.end();
} else {
await ftp!.end();
}
if (this.continueOnFail()) {
return [[{ json: { error: error.message } }]];
}