A simple wrapper for a simpler FTP client surface API with pool and retry management.
This wrapper is directly usable with Knifecycle.
Instantiate the FTP service
Kind: global function Returns: Promise.<FTPService> - A promise of the FTP service
Param | Type | Description |
---|---|---|
services | Object | The services to inject |
[services.ENV] | Object | An environment object |
services.FTP | function | The configuration object as given to basic-ftp client access method |
services.FTP_CONFIG | function | The FTP service configuration object |
[services.FTP_POOL] | function | The FTP pool configuration object as given to generic-pool . |
[services.FTP_TIMEOUT] | function | The FTP service timeout as given to basic-ftp client constructor |
[services.FTP_PASSWORD_ENV_NAME] | function | The environment variable name in which to pick-up the FTP password |
services.log | function | A logging function |
[services.delay] | function | A service to manage delays |
Example
import initFTPService from 'ftp-service';
import { initDelayService } from 'common-services';
const delay = await initDelayService({
log: console.log.bind(console),
})
const fpt = await initFTPService({
FTP: {
host: 'localhost',
user: 'user',
pasword: 'pwd',
},
FTP_CONFIG: { base: '' },
ENV: process.env,
delay,
log: console.log.bind(console),
});
const files = await ftp.list('/');