From 83c8ea7e06ea1353277fb5691dd45a8228fad1fb Mon Sep 17 00:00:00 2001 From: coderaiser Date: Fri, 13 Feb 2015 04:05:55 -0500 Subject: [PATCH] feature(rest) flop.cp -> copymitter --- lib/server/rest.js | 18 +++++++++++++----- package.json | 1 + 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/server/rest.js b/lib/server/rest.js index 759eaa5b..3ca7e09e 100644 --- a/lib/server/rest.js +++ b/lib/server/rest.js @@ -28,6 +28,7 @@ pipe = require('pipe-io'), ponse = require('ponse'), rendy = require('rendy'), + copymitter = require('copymitter'), Modules = require(DIR_JSON + 'modules'), @@ -164,7 +165,7 @@ * @param pParams {command, method, body, requrest, response} */ function onPUT(name, body, callback) { - var cmd, files, data, from, to, error; + var cmd, files, data, from, to, error, msg, wasError, emitter; Util.check(arguments, ['name', 'body', 'callback']); @@ -227,10 +228,17 @@ files.from = mellow.pathToWin(files.from); files.to = mellow.pathToWin(files.to); - data = files.names.slice(); - copyFiles(files, flop.copy, function(error) { - var msg = formatMsg('copy', data); - + msg = formatMsg('copy', files.names); + + emitter = copymitter(files.from, files.to, files.names); + + emitter.on('end', function() { + if (!wasError) + callback(null, msg); + }); + + emitter.on('error', function(error) { + wasError = true; callback(error, msg); }); } diff --git a/package.json b/package.json index 0aabc88c..0f5eb744 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "dependencies": { "ashify": "~1.0.0", "console-io": "~2.1.0", + "copymitter": "~1.4.1", "edward": "~1.1.0", "execon": "~1.1.0", "express": "~4.11.0",