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('/');