A simple wrapper for a simpler FTP client surface API with pool and retry management.
npm install ftp-service[//]: # ( )
[//]: # (This file is automatically generated by a metapak)
[//]: # (module. Do not change it except between the)
[//]: # (content:start/end flags, your changes would)
[//]: # (be overridden.)
[//]: # ( )

[//]: # (::contents:start)
This wrapper is directly usable with Knifecycle.
[//]: # (::contents:end)
Promise.<FTPService>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
``js
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('/');
``