style(rest) "){" -> ") {"

This commit is contained in:
coderaiser 2013-08-08 10:10:21 +00:00
parent 4c89ec346b
commit 47288f0f6e

View file

@ -1,9 +1,9 @@
/* RESTfull module */
(function(){
(function() {
'use strict';
if(!global.cloudcmd)
if (!global.cloudcmd)
return console.log(
'# rest.js' + '\n' +
'# -----------' + '\n' +
@ -29,8 +29,9 @@
* rest interface
* @pParams {request, responce}
*/
exports.api = function(pParams){
exports.api = function(pParams) {
var lRet = main.checkParams(pParams);
if (lRet) {
var lAPIURL = main.config.api_url,
p = pParams;
@ -50,7 +51,7 @@
* @param pRes
* @param pData
*/
function send(pParams){
function send(pParams) {
var lRes = pParams.response,
lData = pParams.data;
@ -63,12 +64,12 @@
*
* @param pParams {command, method, body, requrest, response}
*/
function sendData(pParams){
function sendData(pParams) {
var p, lRet = main.checkParams(pParams);
if(lRet){
p = pParams;
p = pParams;
lRet = Util.isContainStrAtBegin(p.name, CloudFunc.FS);
if (lRet)
onFS(pParams);
else {
@ -92,7 +93,7 @@
return lRet;
}
function onFS(pParams){
function onFS(pParams) {
var p, lError, lMsg, lName, lZlib, lZipStream, lReadStream, lWriteStream, lSize, lQuery,
lRet = main.checkParams(pParams);
@ -101,143 +102,144 @@
lQuery = main.getQuery(p.request);
p.name = Util.removeStrOneTime(p.name, CloudFunc.FS) || '/';
switch (p.request.method){
case 'GET':
if( Util.strCmp(lQuery, 'size') )
dir.getSize(p.name, function(pErr, pSize){
if (!pErr){
lSize = CloudFunc.getShortSize(pSize);
Util.log(lSize);
main.sendResponse(p, lSize);
}
else
main.sendError(p, pErr);
});
else
fs.stat(p.name, function(pError, pStat){
if (!pError)
if (pStat.isDirectory())
main.commander.getDirContent(p.name, function(pError, pData){
if (!pError){
p.name += '.json';
p.data = Util.stringifyJSON(pData);
main.sendResponse(p);
}
else
main.sendError(p, pError);
});
else
main.sendFile(p);
else
main.sendError(p, pError);
});
break;
case 'PUT':
if (lQuery === 'dir')
fs.mkdir(p.name, function(pError) {
if (!pError)
main.sendResponse(pParams, 'Folder ' + p.name + ' created.');
else
main.sendError(pParams, pError);
});
else {
lName = p.name;
if (lQuery === 'zip') {
lZlib = zlib.createGzip();
lReadStream = fs.createReadStream(lName);
lReadStream = lReadStream.pipe(lZlib);
lName += '.' + lQuery;
lMsg = lQuery;
} else {
lReadStream = p.request;
lMsg = 'save';
switch (p.request.method) {
case 'GET':
if( Util.strCmp(lQuery, 'size') )
dir.getSize(p.name, function(pErr, pSize) {
if (!pErr){
lSize = CloudFunc.getShortSize(pSize);
Util.log(lSize);
main.sendResponse(p, lSize);
}
lWriteStream = fs.createWriteStream(lName);
lError = function(pError) {
main.sendError(pParams, pError);
};
lWriteStream.on('error', lError);
lReadStream.on('error', lError);
lWriteStream.on('open', function() {
lReadStream.pipe(lWriteStream);
lReadStream.on('end', function() {
lName = path.basename(lName);
main.sendResponse(pParams, lMsg + ': ok("' + lName +'")');
});
});
}
break;
case 'DELETE':
if(lQuery === 'dir')
fs.rmdir(p.name, function(pError){
if(!pError)
main.sendResponse(pParams, 'delete: ok("' + p.name + '")');
else
main.sendError(pParams, pError);
});
else if(lQuery === 'files'){
getBody(p.request, function(pBody){
var lFiles = Util.parseJSON(pBody),
n = lFiles.length,
lDir = p.name,
log = Util.retExec(Util.log),
lAssync = 0;
function stat(pStat){
var lRet = Util.checkObjTrue(pStat, 'params') &&
Util.checkObjTrue(pStat.params, 'name');
if(lRet){
var p = pStat,
d = p.params;
++lAssync;
if( p.error ){
main.sendError(pParams, p.error);
Util.log(p.error);
else
main.sendError(p, pErr);
});
else
fs.stat(p.name, function(pError, pStat) {
if (!pError)
if (pStat.isDirectory())
main.commander.getDirContent(p.name, function(pError, pData) {
if (!pError){
p.name += '.json';
p.data = Util.stringifyJSON(pData);
main.sendResponse(p);
}
else
if(p.data.isDirectory())
fs.rmdir(d.name, log);
else if(p.data.isFile())
fs.unlink(d.name, log);
if(lAssync === n && !p.error)
main.sendResponse(pParams, 'delete: ok("' + pBody + '")');
}
}
for(var i = 0; i < n; i ++){
var lName = lDir + lFiles[i];
Util.log(lName);
fs.stat(lName, Util.call(stat, {
name: lName
}));
}
});
}else
fs.unlink(p.name, function(pError){
if(!pError)
main.sendResponse(pParams, 'delete: ok(' + p.name + '")');
main.sendError(p, pError);
});
else
main.sendError(pParams, pError);
});
main.sendFile(p);
else
main.sendError(p, pError);
});
break;
case 'PUT':
if (lQuery === 'dir')
fs.mkdir(p.name, function(pError) {
if (!pError)
main.sendResponse(pParams, 'Folder ' + p.name + ' created.');
else
main.sendError(pParams, pError);
});
else {
lName = p.name;
break;
if (lQuery === 'zip') {
lZlib = zlib.createGzip();
lReadStream = fs.createReadStream(lName);
lReadStream = lReadStream.pipe(lZlib);
lName += '.' + lQuery;
lMsg = lQuery;
} else {
lReadStream = p.request;
lMsg = 'save';
}
lWriteStream = fs.createWriteStream(lName);
lError = function(pError) {
main.sendError(pParams, pError);
};
lWriteStream.on('error', lError);
lReadStream.on('error', lError);
lWriteStream.on('open', function() {
lReadStream.pipe(lWriteStream);
lReadStream.on('end', function() {
lName = path.basename(lName);
main.sendResponse(pParams, lMsg + ': ok("' + lName +'")');
});
});
}
break;
case 'DELETE':
if (lQuery === 'dir')
fs.rmdir(p.name, function(pError){
if (!pError)
main.sendResponse(pParams, 'delete: ok("' + p.name + '")');
else
main.sendError(pParams, pError);
});
else if (lQuery === 'files'){
getBody(p.request, function(pBody) {
var lFiles = Util.parseJSON(pBody),
n = lFiles.length,
lDir = p.name,
log = Util.retExec(Util.log),
lAssync = 0;
function stat(pStat){
var lRet = Util.checkObjTrue(pStat, 'params') &&
Util.checkObjTrue(pStat.params, 'name');
if (lRet) {
var p = pStat,
d = p.params;
++lAssync;
if (p.error){
main.sendError(pParams, p.error);
Util.log(p.error);
}
else
if (p.data.isDirectory())
fs.rmdir(d.name, log);
else if (p.data.isFile())
fs.unlink(d.name, log);
if (lAssync === n && !p.error)
main.sendResponse(pParams, 'delete: ok("' + pBody + '")');
}
}
for(var i = 0; i < n; i ++) {
var lName = lDir + lFiles[i];
Util.log(lName);
fs.stat(lName, Util.call(stat, {
name: lName
}));
}
});
}else
fs.unlink(p.name, function(pError) {
if (!pError)
main.sendResponse(pParams, 'delete: ok(' + p.name + '")');
else
main.sendError(pParams, pError);
});
break;
}
}
return lRet;
}
@ -246,40 +248,41 @@
*
* @param pParams {command, method, body, requrest, response}
*/
function onGET(pParams){
function onGET(pParams) {
var lRet = main.checkParams(pParams);
if(lRet){
var p = pParams,
lCmd = p.command;
switch(lCmd){
case '':
p.data = {
info: 'Cloud Commander API v1'
};
send(p);
break;
case '':
p.data = {
info: 'Cloud Commander API v1'
};
send(p);
break;
case 'proxy':
case 'proxy':
break;
case 'zip':
main.sendFile(pParams);
break;
case 'kill':
p.data = {
mesage: 'Cloud Commander was killed'
};
send(p);
break;
default:
p.data = {
error: 'command not found'
};
send(p);
break;
break;
case 'zip':
main.sendFile(pParams);
break;
case 'kill':
p.data = {
mesage: 'Cloud Commander was killed'
};
send(p);
break;
default:
p.data = {
error: 'command not found'
};
send(p);
break;
}
}
@ -291,72 +294,72 @@
*
* @param pParams {command, method, body, requrest, response}
*/
function onPUT(pParams){
function onPUT(pParams) {
var lRet = main.checkParams(pParams, ['body']);
if(lRet){
if (lRet) {
var p = pParams,
lCmd = p.command,
lFiles = Util.parseJSON(p.body);
console.log(p.body);
switch(lCmd){
case 'auth':
main.auth(p.body, function(pTocken){
send({
response: p.response,
data: pTocken
});
switch(lCmd) {
case 'auth':
main.auth(p.body, function(pTocken){
send({
response: p.response,
data: pTocken
});
break;
case 'cmd':
main.child_process.exec(p.body, function(pError, pStdout, pStderr){
var lError = pError || pStderr;
if(!lError)
main.sendResponse(pParams, pStdout);
});
break;
case 'cmd':
main.child_process.exec(p.body, function(pError, pStdout, pStderr) {
var lError = pError || pStderr;
if (!lError)
main.sendResponse(pParams, pStdout);
else
main.sendError(pParams, lError);
});
break;
case 'mv':
if( Util.checkObjTrue(lFiles, ['from', 'to']) )
fs.rename(lFiles.from, lFiles.to, function(pError){
if(!pError)
main.sendResponse(pParams);
else
main.sendError(pParams, lError);
main.sendError(pParams, pError);
});
break;
case 'mv':
if( Util.checkObjTrue(lFiles, ['from', 'to']) )
fs.rename(lFiles.from, lFiles.to, function(pError){
if(!pError)
main.sendResponse(pParams);
else
main.sendError(pParams, pError);
});
else
main.sendError(pParams, p.data);
break;
case 'cp':
if( Util.checkObjTrue(lFiles, ['from', 'to']) ){
var l = lFiles,
lReadStream = fs.createReadStream(l.from),
lWriteStream = fs.createWriteStream(l.to),
lError = function(pError){
main.sendError(pParams, pError);
};
lWriteStream.on('error', lError);
lReadStream.on('error', lError);
lReadStream.on('end', function(){
main.sendResponse(pParams, 'copied to: ' + l.to);
});
else
main.sendError(pParams, p.data);
break;
case 'cp':
if (Util.checkObjTrue(lFiles, ['from', 'to'])) {
var l = lFiles,
lReadStream = fs.createReadStream(l.from),
lWriteStream = fs.createWriteStream(l.to),
lReadStream.pipe(lWriteStream);
}
else
main.sendError(pParams, p.data);
break;
default:
send(pParams);
break;
lError = function(pError){
main.sendError(pParams, pError);
};
lWriteStream.on('error', lError);
lReadStream.on('error', lError);
lReadStream.on('end', function(){
main.sendResponse(pParams, 'copied to: ' + l.to);
});
lReadStream.pipe(lWriteStream);
}
else
main.sendError(pParams, p.data);
break;
default:
send(pParams);
break;
}
}
return lRet;
}
@ -367,10 +370,10 @@
* @param pReq
* @param pCallBack
*/
function getBody(pReq, pCallBack){
function getBody(pReq, pCallBack) {
var lBody = '';
pReq.on('data', function(chunk){
pReq.on('data', function(chunk) {
lBody += chunk.toString();
});