mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-25 08:54:10 +00:00
refactor(rest) onFSGet: add default
This commit is contained in:
parent
b209ca9096
commit
2dc28c2506
1 changed files with 48 additions and 36 deletions
|
|
@ -130,31 +130,18 @@
|
|||
|
||||
switch (p.request.method) {
|
||||
case 'GET':
|
||||
isGet = onFSGet(query, p.name, function(error, result) {
|
||||
checkSendError(error, params, function() {
|
||||
sendResponse(p, result);
|
||||
});
|
||||
});
|
||||
|
||||
if (!isGet)
|
||||
fs.stat(p.name, function(error, stat) {
|
||||
var getDirContent = main.commander.getDirContent;
|
||||
onFSGet(query, p.name, function(error, data, name, isFile) {
|
||||
if (error)
|
||||
sendError(params, error);
|
||||
else if (isFile) {
|
||||
p.name = name;
|
||||
p.data = data;
|
||||
|
||||
if (error)
|
||||
Util.exec(error);
|
||||
else
|
||||
if (!stat.isDirectory())
|
||||
main.sendFile(p);
|
||||
else
|
||||
getDirContent(p.name, function(pError, pData) {
|
||||
checkSendError(pError, p, function() {
|
||||
p.name += '.json';
|
||||
p.data = Util.stringifyJSON(pData);
|
||||
sendResponse(p);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
main.sendFile(p);
|
||||
} else
|
||||
sendResponse(p, data);
|
||||
});
|
||||
|
||||
break;
|
||||
|
||||
case 'PUT':
|
||||
|
|
@ -301,7 +288,8 @@
|
|||
}
|
||||
|
||||
function onFSGet(query, name, callback) {
|
||||
var msg, hash, ret = true;
|
||||
var error, hash,
|
||||
func = Util.retExec(callback);
|
||||
|
||||
switch (query) {
|
||||
case 'size':
|
||||
|
|
@ -309,14 +297,18 @@
|
|||
if (!error)
|
||||
size = CloudFunc.getShortSize(size);
|
||||
|
||||
Util.exec(callback, error, size);
|
||||
func(error, size);
|
||||
});
|
||||
break;
|
||||
|
||||
case 'time':
|
||||
time.get(name, function(error, time) {
|
||||
var timeStr = time.toString();
|
||||
Util.exec(callback, error, timeStr);
|
||||
var timeStr;
|
||||
|
||||
if (!error)
|
||||
timeStr = time.toString();
|
||||
|
||||
func(error, timeStr);
|
||||
});
|
||||
break;
|
||||
|
||||
|
|
@ -324,26 +316,46 @@
|
|||
hash = Hash.create();
|
||||
|
||||
if (!hash) {
|
||||
msg = 'not suported, try update node';
|
||||
msg = CloudFunc.formatMsg('hash', msg, 'error');
|
||||
Util.exec(callback, msg);
|
||||
error = 'not suported, try update node';
|
||||
error = CloudFunc.formatMsg('hash', error, 'error');
|
||||
func(error);
|
||||
} else
|
||||
pipe.create({
|
||||
from : name,
|
||||
write : hash,
|
||||
callback : function (error) {
|
||||
var hex = hash.get();
|
||||
Util.exec(callback, error, hex);
|
||||
var hex;
|
||||
|
||||
if (!error)
|
||||
hash = hash.get();
|
||||
|
||||
func(error, hash);
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
default:
|
||||
ret = false;
|
||||
fs.stat(name, function(error, stat) {
|
||||
var getDirContent = main.commander.getDirContent,
|
||||
isFile = !stat.isDirectory();
|
||||
|
||||
if (error)
|
||||
func(error);
|
||||
else
|
||||
if (isFile)
|
||||
func(null, null, null, isFile);
|
||||
else
|
||||
getDirContent(name, function(error, data) {
|
||||
if (!error) {
|
||||
name += '.json';
|
||||
data = Util.stringifyJSON(data);
|
||||
}
|
||||
|
||||
func(error, name, data);
|
||||
});
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue