mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
changed sync reading of certs to async
This commit is contained in:
parent
c4f5b863aa
commit
5826d165f0
5 changed files with 120 additions and 53 deletions
|
|
@ -41,6 +41,8 @@ writed root directory.
|
|||
|
||||
* Changed the way file table building. From now templating used.
|
||||
|
||||
* Changed sync reading of certs to async.
|
||||
|
||||
|
||||
2012.03.01, Version 0.1.9
|
||||
|
||||
|
|
|
|||
71
cloudcmd.js
71
cloudcmd.js
|
|
@ -28,7 +28,7 @@
|
|||
/* reinit main dir os if we on
|
||||
* Win32 should be backslashes */
|
||||
DIR = main.DIR;
|
||||
|
||||
|
||||
readConfig(init);
|
||||
|
||||
|
||||
|
|
@ -181,14 +181,27 @@
|
|||
route : route
|
||||
};
|
||||
|
||||
if(Config.ssl)
|
||||
lParams.ssl = {
|
||||
ca : fs.readFileSync(DIR + 'ssl/sub.class1.server.ca.pem'),
|
||||
key : fs.readFileSync(DIR + 'ssl/ssl.key'),
|
||||
cert : fs.readFileSync(DIR + 'ssl/ssl.crt')
|
||||
};
|
||||
|
||||
server.start(lParams);
|
||||
if(Config.ssl){
|
||||
var CA = DIR + 'ssl/sub.class1.server.ca.pem',
|
||||
KEY = DIR + 'ssl/ssl.key',
|
||||
CERT = DIR + 'ssl/ssl.crt';
|
||||
|
||||
readFiles([ CA, KEY, CERT ], function(pErrors, pFiles){
|
||||
if(pErrors)
|
||||
Util.log(pErrors);
|
||||
else{
|
||||
lParams.ssl = {
|
||||
ca : pFiles[CA],
|
||||
key : pFiles[KEY],
|
||||
cert : pFiles[CERT]
|
||||
};
|
||||
|
||||
server.start(lParams);
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
server.start(lParams);
|
||||
}
|
||||
else
|
||||
Util.log('read error: config.json');
|
||||
|
|
@ -308,6 +321,46 @@
|
|||
}
|
||||
}
|
||||
|
||||
function readFiles(pFiles, pCallBack){
|
||||
var lDone = [],
|
||||
lFiles,
|
||||
lErrors,
|
||||
lReadedFiles = {},
|
||||
lDoneFunc = function (pParams){
|
||||
var lRet = Util.checkObj(pParams, ['error', 'data', 'params']);
|
||||
|
||||
if(lRet){
|
||||
lDone.pop();
|
||||
var p = pParams,
|
||||
lName = p.params;
|
||||
|
||||
if(p.error){
|
||||
if(!lErrors) lErrors = {};
|
||||
|
||||
lErrors[lName] = p.error;
|
||||
}
|
||||
else
|
||||
lReadedFiles[lName] = p.data;
|
||||
|
||||
if( !lDone.length )
|
||||
Util.exec(pCallBack, lErrors, lReadedFiles);
|
||||
}
|
||||
};
|
||||
|
||||
if( Util.isArray(pFiles) )
|
||||
lFiles = pFiles;
|
||||
else
|
||||
lFiles = [pFiles];
|
||||
|
||||
for(var i = 0, n = lFiles.length; i < n; i++){
|
||||
var lName = lFiles.pop();
|
||||
lDone.push(lName);
|
||||
|
||||
fs.readFile(lName, Util.call( lDoneFunc, lName ));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* function sets stdout to file log.txt */
|
||||
function writeLogsToFile(){
|
||||
|
|
|
|||
|
|
@ -536,12 +536,12 @@ var CloudCommander, Util,
|
|||
*/
|
||||
DOM.anyLoadInParallel = function(pParams_a, pFunc){
|
||||
var lRet = this,
|
||||
done = [],
|
||||
lDone = [],
|
||||
|
||||
doneFunc = function (pCallBack){
|
||||
lDoneFunc = function (pCallBack){
|
||||
Util.exec(pCallBack);
|
||||
|
||||
if( !done.pop() )
|
||||
if( !lDone.pop() )
|
||||
Util.exec(pFunc);
|
||||
};
|
||||
|
||||
|
|
@ -553,13 +553,13 @@ var CloudCommander, Util,
|
|||
var lParam = pParams_a.pop();
|
||||
|
||||
if(lParam){
|
||||
done.push(i);
|
||||
lDone.push(i);
|
||||
|
||||
if(Util.isString(lParam) )
|
||||
lParam = { src : lParam };
|
||||
|
||||
var lFunc = lParam.func;
|
||||
lParam.func = Util.retExec(doneFunc, lFunc);
|
||||
lParam.func = Util.retExec(lDoneFunc, lFunc);
|
||||
|
||||
DOM.anyload(lParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -372,45 +372,57 @@ var CloudFunc, exports, Util;
|
|||
}
|
||||
|
||||
for(var i = 1, n = files.length; i < n; i++){
|
||||
var lFile = files[i];
|
||||
var lFile = files[i],
|
||||
lOwner = !lFile.uid ? 'root' : lFile.uid,
|
||||
lMode = CloudFunc.getSymbolicPermissions(lFile.mode),
|
||||
lType, lSize;
|
||||
|
||||
if(lFile.size === 'dir'){
|
||||
lType = 'directory',
|
||||
lSize = '<dir>';
|
||||
}else{
|
||||
lType = 'text-file';
|
||||
lSize = CloudFunc.getShortSize( lFile.size );
|
||||
}
|
||||
|
||||
lFileTable += '<li draggable class>';
|
||||
lFileTable += '<span draggable class="mini-icon ';
|
||||
|
||||
/* если папка - выводим другую иконку */
|
||||
lFileTable += (lFile.size==='dir'?
|
||||
'directory':'text-file') +
|
||||
'">';
|
||||
lFileTable += '</span>';
|
||||
lFileTable += '<span draggable class=name>' +
|
||||
'<a href="' + FS + lPath + files[i].name +
|
||||
'"' +
|
||||
/* открываем файлы */
|
||||
/*в новой вкладке */
|
||||
(lFile.size === 'dir' ?
|
||||
'' : ' target="_blank"') +
|
||||
|
||||
' title="' + lFile.name +'"' +
|
||||
' draggable=true>' + lFile.name +
|
||||
"</a>" +
|
||||
'</span>';
|
||||
/* если папка - не выводим размер */
|
||||
lFileTable += '<span draggable class=size>' +
|
||||
(lFile.size === 'dir' ?
|
||||
'<dir>'
|
||||
/* если это файл - получаем
|
||||
* короткий размер
|
||||
*/
|
||||
: CloudFunc.getShortSize(
|
||||
lFile.size));
|
||||
lFileTable += '</span>' +
|
||||
'<span draggable class=owner>' +
|
||||
(!lFile.uid ? 'root' : lFile.uid) +
|
||||
'</span>' +
|
||||
'<span draggable class=mode>' +
|
||||
CloudFunc.getSymbolicPermissions(lFile.mode)+
|
||||
if(pTemplate)
|
||||
lFileTable += Util.render(pTemplate,{
|
||||
type : lType,
|
||||
link : FS + lPath + lFile.name,
|
||||
name : lFile.name,
|
||||
size : '<dir>',
|
||||
owner : lOwner,
|
||||
mode : lMode
|
||||
});
|
||||
else
|
||||
{
|
||||
lFileTable += '<li draggable class>';
|
||||
lFileTable += '<span draggable class="mini-icon ';
|
||||
|
||||
/* если папка - выводим другую иконку */
|
||||
lFileTable += lType + '">' +
|
||||
'</span>' +
|
||||
'<span draggable class=name>' +
|
||||
'<a href="' + FS + lPath + lFile.name +
|
||||
'"' +
|
||||
/* открываем файлы */
|
||||
/*в новой вкладке */
|
||||
(lFile.size === 'dir' ?
|
||||
'' : ' target="_blank"') +
|
||||
|
||||
' title="' + lFile.name +'"' +
|
||||
' draggable=true>' + lFile.name +
|
||||
"</a>" +
|
||||
'</span>';
|
||||
lFileTable += '</li>';
|
||||
/* если папка - не выводим размер */
|
||||
lFileTable += '<span draggable class=size>' + lSize +
|
||||
'</span>' +
|
||||
'<span draggable class=owner>' + lOwner +
|
||||
'</span>' +
|
||||
'<span draggable class=mode>' + lMode +
|
||||
'</span>';
|
||||
lFileTable += '</li>';
|
||||
}
|
||||
}
|
||||
|
||||
return lFileTable;
|
||||
|
|
|
|||
|
|
@ -31,13 +31,13 @@ Util = exports || {};
|
|||
* @param pParams
|
||||
*/
|
||||
Util.call = function(pFunc, pParams){
|
||||
var lFunc = function(pError, pData){
|
||||
function lFunc(pError, pData){
|
||||
Util.exec(pFunc, {
|
||||
error : pError,
|
||||
data : pData,
|
||||
params : pParams
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
return lFunc;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue