refactor(rest) onFSGet: add default

This commit is contained in:
coderaiser 2014-02-19 07:55:09 -05:00
parent b209ca9096
commit 2dc28c2506

View file

@ -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;
}
/**