From 98ea7ab566c06db3c3de6dda8174d6931e36489a Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 16 Jul 2013 10:15:57 +0000 Subject: [PATCH] feature(rest) patch -> tryCatch(patch) --- lib/server/rest.js | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/lib/server/rest.js b/lib/server/rest.js index 9c96f9ae..7f7181df 100644 --- a/lib/server/rest.js +++ b/lib/server/rest.js @@ -92,11 +92,11 @@ } function onFS(pParams){ - var lWriteStream, lSize, + var p, lWriteStream, lSize, lQuery, lRet = main.checkParams(pParams); if(lRet){ - var p = pParams, - lQuery = main.getQuery(p.request); + p = pParams, + lQuery = main.getQuery(p.request); p.name = Util.removeStrOneTime(p.name, CloudFunc.FS) || '/'; switch(p.request.method){ @@ -148,14 +148,19 @@ if (pError) main.sendError(pParams, pError); else { - lDiff = diff.applyPatch(lStr, pPatch); - - fs.writeFile(p.name, lDiff, function(){ - if (pError) - main.sendError(pParams, pError); - else - main.sendResponse(pParams, 'writed: ' + p.name); + var lRet = Util.tryCatchLog(function(){ + lDiff = diff.applyPatch(lStr, pPatch); }); + + if (lDiff && !lRet) + fs.writeFile(p.name, lDiff, function(){ + if (pError) + main.sendError(pParams, pError); + else + main.sendResponse(pParams, 'writed: ' + p.name); + }); + else + main.sendError(pParams, lRet || lDiff); } }); });