var backend = { ftp: require('./backend/ftp'), sftp: require('./backend/sftp'), webdav: require('./backend/webdav'), dropbox: require('./backend/dropbox'), gdrive: require('./backend/gdrive'), s3: require('./backend/s3'), git: require('./backend/git') }; exports.cat = function(path, params, res){ try{ if(backend[params.type] && typeof backend[params.type].cat === 'function'){ return backend[params.type].cat(path, params.payload, res); }else{ return error('not implemented'); } }catch(err){ return error(err); } } exports.write = function(path, content, params){ try{ if(backend[params.type] && typeof backend[params.type].write === 'function'){ return backend[params.type].write(path, content, params.payload); }else{ return error('not implemented'); } }catch(err){ return error(err); } } exports.ls = function(path, params){ try{ if(backend[params.type] && typeof backend[params.type].ls === 'function'){ return backend[params.type].ls(path, params.payload); }else{ return error('not implemented'); } }catch(err){ return error(err); } } exports.mv = function(from, to, params){ try{ if(backend[params.type] && typeof backend[params.type].mv === 'function'){ return backend[params.type].mv(from, to, params.payload); }else{ return error('not implemented'); } }catch(err){ return error(err); } } exports.rm = function(path, params){ try{ if(backend[params.type] && typeof backend[params.type].rm === 'function'){ return backend[params.type].rm(path, params.payload); }else{ return error('not implemented'); } }catch(err){ return error(err); } } exports.mkdir = function(path, params){ try{ if(backend[params.type] && typeof backend[params.type].mkdir === 'function'){ return backend[params.type].mkdir(path, params.payload); }else{ return error('not implemented'); } }catch(err){ return error(err); } } exports.touch = function(path, params){ try{ if(backend[params.type] && typeof backend[params.type].touch === 'function'){ return backend[params.type].touch(path, params.payload); }else{ return error('not implemented'); } }catch(err){ return error(err); } } function error(message){ return new Promise((done, err) => { err(message); }); }