';
lData = lData.replace(lReplace_s, lReplace_s + lAdditional)
.replace('
');
if(!Config.appcache)
lData = Util.removeStr(lData, ' manifest="/cloudcmd.appcache"');
if(!Config.show_keys_panel){
var lKeysPanel = '
' + p.name);
pParams.name = main.HTMLDIR + p.name + '.html';
lRet = main.sendFile( pParams );
}
else if( Util.isContainStr(p.name, FS) || Util.strCmp( p.name, '/') ){
if( Util.isContainStr(p.name, 'no-js/') )
return noJSTMPRedirection(pParams);
lRet = sendCommanderContent(p);
}
/* termporary redirect for old urls */
else
lRet = false;
}
return lRet;
}
function sendCommanderContent(pParams){
var lRet = Util.checkObjTrue( pParams, ['name', REQUEST, RESPONSE] );
if(lRet){
var p = pParams;
p.name = Util.removeStr(p.name, CloudFunc.FS) || main.SLASH;
fs.stat(p.name, function(pError, pStat){
if(!pError)
if( pStat.isDirectory() )
processCommanderContent(pParams);
else
main.sendFile(p);
else
sendError(pParams, pError);
});
}
}
function processCommanderContent(pParams){
var lRet = Util.checkObjTrue( pParams, ['name', REQUEST, RESPONSE] );
if(lRet){
var p = pParams;
main.commander.getDirContent(p.name, function(pError, pJSON){
if(!pError){
var lQuery = main.getQuery(p.request);
if(lQuery === 'json'){
p.data = Util.stringifyJSON(pJSON);
p.name +='.json';
main.sendResponse(p);
}
else if(!lQuery){ /* get back html*/
var lName = Minify.allowed.html ?
Minify.getName(INDEX) : INDEX;
fs.readFile(lName, function(pError, pData){
if(!pError){
var lPanel = CloudFunc.buildFromJSON(pJSON),
lList = '
' +
'
';
p.data = indexProcessing({
additional : lList,
data : pData.toString(),
});
main.sendResponse(p);
}
else
sendError(pParams, pError);
});
}
}
else
sendError(pParams, pError);
});
}
}
function sendError(pParams, pError){
var lRet = Util.checkObjTrue(pParams,
['name', 'data', 'request', 'response']);
if(lRet){
var p = pParams;
p.status = main.FILE_NOT_FOUND;
p.data = pError;
main.sendResponse(p);
}
}
function noJSTMPRedirection(pParams){
var MOVED_PERMANENTLY = 301,
lPath = Util.removeStr(pParams.name, 'no-js/');
pParams.response.writeHead(MOVED_PERMANENTLY, {'Location': lPath});
pParams.response.end();
return true;
}
/* function sets stdout to file log.txt */
function writeLogsToFile(){
var stdo = fs.createWriteStream('./log.txt');
process.stdout.write = (function(write) {
return function(string, encoding, fd) {
stdo.write(string);
};
})(process.stdout.write);
}
})();