refactored

This commit is contained in:
coderaiser 2013-02-25 04:17:40 -05:00
parent 6de11313ac
commit 2c576dd3b7
3 changed files with 69 additions and 57 deletions

View file

@ -21,8 +21,6 @@
Minify = main.minify,
Config = main.config,
REQUEST = 'request',
RESPONSE = 'response',
INDEX = HTMLDIR + 'index.html',
CONFIG_PATH = JSONDIR + 'config.json',
FS = CloudFunc.FS;
@ -215,7 +213,7 @@
* routing of server queries
*/
function route(pParams){
var lRet = checkParams(pParams);
var lRet = main.checkParams(pParams);
if(lRet){
var p = pParams;
@ -241,7 +239,7 @@
}
function sendCommanderContent(pParams){
var lRet = checkParams(pParams);
var lRet = main.checkParams(pParams);
if(lRet){
var p = pParams;
p.name = Util.removeStr(p.name, CloudFunc.FS) || main.SLASH;
@ -262,7 +260,7 @@
}
function processCommanderContent(pParams){
var lRet = checkParams(pParams);
var lRet = main.checkParams(pParams);
if(lRet){
var p = pParams;
main.commander.getDirContent(p.name, function(pError, pJSON){
@ -281,12 +279,10 @@
lList = '<ul id=left class=panel>' + lPanel + '</ul>' +
'<ul id=right class=panel>' + lPanel + '</ul>';
p.data = indexProcessing({
main.sendResponse(p, indexProcessing({
additional : lList,
data : pData.toString(),
});
main.sendResponse(p);
}));
}
else
main.sendError(pParams, pError);
@ -299,12 +295,6 @@
}
}
function checkParams(pParams){
var lRet = Util.checkObjTrue( pParams, ['name', REQUEST, RESPONSE] );
return lRet;
}
function noJSTMPRedirection(pParams){
var MOVED_PERMANENTLY = 301,
lPath = Util.removeStr(pParams.name, 'no-js/');

View file

@ -53,13 +53,17 @@
exports.librequire = librequire,
exports.srvrequire = srvrequire,
exports.rootrequire = rootrequire,
exports.generateHeaders = generateHeaders,
exports.getQuery = getQuery,
exports.isGZIP = isGZIP,
exports.sendFile = sendFile,
exports.sendResponse = sendResponse,
exports.sendError = sendError,
exports.checkParams = checkParams,
/* compitability with old versions of node */
exports.fs.exists = exports.fs.exists || exports.path.exists,
@ -248,9 +252,9 @@
* @param Data - данные
* @param pName - имя отсылаемого файла
*/
function sendResponse(pParams){
function sendResponse(pParams, pData){
var lRet = Util.checkObjTrue(pParams,
['name', 'data', 'request', 'response']);
['name', 'request', 'response']);
if(lRet){
var p = pParams;
@ -282,7 +286,7 @@
},
function(pCallBack){
zlib.gzip (p.data, Util.call(gzipData, {
zlib.gzip (p.data || pData, Util.call(gzipData, {
callback : pCallBack
}));
});
@ -296,7 +300,7 @@
if(lRet){
var p = pParams;
p.status = FILE_NOT_FOUND;
p.data = pError.toString();
p.data = p.data || pError.toString();
sendResponse(p);
}
}
@ -307,7 +311,7 @@
* @pName
*/
function gzipData(pParams){
var lRet = checkParams(pParams);
var lRet = checkCallBackParams(pParams);
if(lRet)
lRet = Util.checkObj(pParams.params, ['callback']);
@ -329,10 +333,18 @@
}
function checkParams(pParams){
function checkCallBackParams(pParams){
return Util.checkObj(pParams, ['error', 'data', 'params']);
}
function checkParams(pParams, pAdditional){
var lRet = Util.checkObjTrue( pParams, ['name', 'request', 'response'] );
if(lRet && pAdditional)
lRet = Util.checkObjTrue( pParams, pAdditional);
return lRet;
}
function getQuery(pReq){
var lQuery, lParsedUrl;

View file

@ -14,6 +14,7 @@
'# http://coderaiser.github.com/cloudcmd' + '\n');
var main = global.cloudcmd.main,
fs = main.fs,
Util = main.util,
CloudFunc = main.cloudfunc,
OK = 200,
@ -107,42 +108,51 @@
}
function onFS(pParams){
var lResult,
lMethod = pParams.method,
lName = Util.removeStr(pParams.name, CloudFunc.FS) || '/';
switch(lMethod){
case 'GET':
lResult = main.commander.getDirContent(lName, function(pError, pData){
if(!pError){
pParams.request.url += '.json';
pParams.name = lName;
pParams.data = Util.stringifyJSON(pData);
main.sendResponse(pParams);
}
else
main.sendError(pParams, pError);
});
break;
case 'PUT':
var lCmd = 'mkdir ' + lName;
main.child_process.exec(lCmd, function(pError, pStdout, pStderr){
var lError = pError || pStderr;
if(!lError){
pParams.data = pStdout;
main.sendResponse(pParams);
}
else
main.sendError(pParams, lError);
});
lResult = true;
break;
}
return lResult;
var lRet = main.checkParams(pParams, ['method']);
if(lRet){
var p = pParams;
p.name = Util.removeStr(pParams.name, CloudFunc.FS) || '/';
switch(p.method){
case 'GET':
fs.stat(p.name, function(pError, pStat){
if(!pError)
if( pStat.isDirectory() )
main.commander.getDirContent(pParams.name, function(pError, pData){
if(!pError){
pParams.request.url += '.json';
pParams.data = Util.stringifyJSON(pData);
main.sendResponse(pParams);
}
else
main.sendError(pParams, pError);
});
else
main.sendFile(pParams);
else
main.sendError(pParams, pError);
});
break;
case 'PUT':
var lCmd = 'mkdir ' + p.Name;
main.child_process.exec(lCmd, function(pError, pStdout, pStderr){
var lError = pError || pStderr;
if(!lError){
pParams.data = pStdout;
main.sendResponse(pParams);
}
else
main.sendError(pParams, lError);
});
lRet = true;
break;
}
}
return lRet;
}
/**