Skip to content

nfroidure/ftp-service

Repository files navigation

ftp-service

A simple wrapper for a simpler FTP client surface API with pool and retry management.

GitHub license

This wrapper is directly usable with Knifecycle.

API

initFTPService(services) ⇒ Promise.<FTPService>

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

Authors

License

MIT