diff --git a/lib/server/rest.js b/lib/server/rest.js index 5d88d383..82d67eb8 100644 --- a/lib/server/rest.js +++ b/lib/server/rest.js @@ -203,8 +203,13 @@ break; case 'DELETE': - onDelete(params, lQuery, function(msg) { - sendMsg(params, 'delete', msg); + onDelete(params, lQuery, function(error, msg, callback) { + checkSendError(error, params, function() { + if (callback) + Util.exec(callback); + else + sendMsg(params, 'delete', msg); + }); }); break; } @@ -218,9 +223,7 @@ if (query === 'dir') fs.rmdir(p.name, function(error) { - checkSendError(error, params, function() { - Util.exec(callback, p.name); - }); + Util.exec(callback, error, p.name); }); else if (query === 'files') { getBody(p.request, function(body) { @@ -234,7 +237,7 @@ function onStat(name, error, stat) { ++assync; - checkSendError(error, params, function() { + Util.exec(callback, error, null, function() { if (stat.isDirectory()) fs.rmdir(name, log); @@ -243,7 +246,7 @@ }); if (assync === n && !error) - Util.exec(callback, pBody); + Util.exec(callback, null, body); } for (i = 0; i < n; i ++) { @@ -256,9 +259,7 @@ }); } else fs.unlink(p.name, function(error) { - checkSendError(error, params, function() { - Util.exec(callback, p.name); - }); + Util.exec(callback, error, p.name); }); }