From bcc31e8884eb848df5655b9c45040e0ebee54fc2 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 20 Aug 2013 07:50:41 +0000 Subject: [PATCH] refactor(rest) put: /fs/file?zip -> /zip --- lib/client/dom.js | 16 ++++++++++++++-- lib/server/rest.js | 46 ++++++++++++++++++++++++++++------------------ 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/lib/client/dom.js b/lib/client/dom.js index 46705a32..b247d5b4 100644 --- a/lib/client/dom.js +++ b/lib/client/dom.js @@ -144,6 +144,15 @@ var CloudCmd, Util, DOM, CloudFunc; }); }; + this.zip = function(pData, pCallBack){ + sendRequest({ + method : 'PUT', + url : '/zip', + data : pData, + callback : pCallBack + }); + }; + this.mv = function(pData, pCallBack){ sendRequest({ method : 'PUT', @@ -1055,10 +1064,13 @@ var CloudCmd, Util, DOM, CloudFunc; this.zipFile = function(){ var lName = Cmd.getCurrentName(), lDir = Cmd.getCurrentDirPath(), - lQuery = '?zip'; + lPath = lDir + lName, + lFiles = { + from : lPath + }; if (lName && lName !== '..') - RESTfull.save(lDir + lName, null, CloudCmd.refresh, lQuery); + RESTfull.zip(lFiles, CloudCmd.refresh); }; diff --git a/lib/server/rest.js b/lib/server/rest.js index 58524b7f..05b6602b 100644 --- a/lib/server/rest.js +++ b/lib/server/rest.js @@ -94,7 +94,7 @@ } function onFS(pParams) { - var p, lError, lMsg, lName, lZip, lReadStream, lSize, lQuery, + var p, lError, lMsg, lSize, lQuery, lRet = main.checkParams(pParams); if (lRet){ @@ -144,32 +144,21 @@ main.sendError(pParams, pError); }); - else { - if (lQuery === 'zip') { - lZip = true; - lName = p.name + '.zip'; - lReadStream = fs.createReadStream(p.name); - lMsg = lQuery; - } else { - lName = p.name; - lReadStream = p.request; - lMsg = 'save'; - } - + else putFile({ - read : lReadStream, - to : lName, - zip : lZip, + read : p.request, + to : p.name, callback : function(pError) { + var lName; + if (pError) main.sendError(pParams, pError); else { lName = path.basename(lName); - sendMsg(pParams, lMsg, p.name); + sendMsg(pParams, 'save', p.name); } } }); - } break; case 'DELETE': @@ -344,6 +333,27 @@ main.sendError(pParams, p.data); break; + case 'zip': + if (Util.checkObjTrue(lFiles, ['from', 'to'])) + putFile({ + from : lFiles.from, + to : lFiles.to || lFiles.from + '.zip', + zip : true, + callback : function(pError) { + var lName; + + if (pError) + main.sendError(pParams, pError); + else { + lName = path.basename(lFiles.from); + sendMsg(pParams, 'zip', lName); + } + } + }); + else + main.sendError(pParams, p.data); + break; + default: send(pParams); break;