mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-18 17:05:17 +00:00
style(rest) "){" -> ") {"
This commit is contained in:
parent
4c89ec346b
commit
47288f0f6e
1 changed files with 226 additions and 223 deletions
|
|
@ -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();
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue