minor changes

This commit is contained in:
coderaiser 2013-02-04 06:38:24 -05:00
parent 8c27073ef3
commit 2382fcbfaf

View file

@ -29,120 +29,6 @@
IndexProcessingFunc = null;
function getQuery(pReq){
var lQuery, lParsedUrl;
if(pReq){
lParsedUrl = url.parse(pReq.url);
lQuery = lParsedUrl.query;
}
return lQuery;
}
function getPath(pReq){
var lParsedUrl = url.parse(pReq.url),
lPath = lParsedUrl.pathname;
return lPath;
}
function getDirPath(pReq){
var lPath = getPath(pReq);
/* Если мы не в корне добавляем слеш к будующим ссылкам */
if(lPath !== '/')
lPath += '/';
return lPath;
}
function getCleanPath(pReq){
var lPath = getPath(pReq),
lRet = Util.removeStr(lPath, [NO_JS, FS]) || '/';
return lRet;
}
function call(pFunc, pParams){
var lFunc = function(pError, pData){
Util.exec(pFunc, {
error : pError,
data : pData,
params : pParams
});
};
return lFunc;
}
function noJS(pReq){
var lNoJS, lPath;
if(pReq){
lPath = getPath(pReq);
lNoJS = Util.isContainStr(lPath, CloudFunc.NoJS)
&& lPath === '/' && getQuery() !== 'json';
}
return lNoJS;
}
function isGZIP(pReq){
var lEnc, lGZIP;
if(pReq){
lEnc = pReq.headers['accept-encoding'] || '',
lGZIP = lEnc.match(/\bgzip\b/);
}
return lGZIP;
}
/**
* Функция высылает ответ серверу
* @param pHead - заголовок
* @param Data - данные
* @param pName - имя отсылаемого файла
*/
function sendResponse(pParams){
var lRet = Util.checkObjTrue(pParams,
['name', 'data', 'request', 'response']);
if(lRet){
var p = pParams;
var lPath = p.name || getCleanPath(p.request),
lQuery = getQuery(p.request),
/* download, json */
lGzip = isGZIP(p.request),
lHead = main.generateHeaders(lPath, lGzip, lQuery);
/* если браузер поддерживает gzip-сжатие - сжимаем данные*/
Util.ifExec(!lGzip,
function(pParams){
var lRet = Util.checkObj(pParams, ['status', 'data']);
if(lRet){
p.status = pParams.status;
p.data = pParams.data;
}
p.response.writeHead(p.status || OK, lHead);
p.request.end();
Util.log(lPath + ' sended');
Util.log( p.status === NOT_FOUND && p.data );
},
function(pCallBack){
zlib.gzip (call(gzipData, {
callback : pCallBack,
data : p.data
}));
});
}
}
exports.sendContent = function(pParams){
var lRet = Util.checkObj(pParams,
@ -427,12 +313,127 @@
lData.data = p.data;
}
else{
lData.status = NOT_FOUND,
lData.data = p.error.toString(),
lData.status = NOT_FOUND;
lData.data = p.error.toString();
}
Util.exec(c.callback, lData);
}
}
function getQuery(pReq){
var lQuery, lParsedUrl;
if(pReq){
lParsedUrl = url.parse(pReq.url);
lQuery = lParsedUrl.query;
}
return lQuery;
}
function getPath(pReq){
var lParsedUrl = url.parse(pReq.url),
lPath = lParsedUrl.pathname;
return lPath;
}
function getDirPath(pReq){
var lPath = getPath(pReq);
/* Если мы не в корне добавляем слеш к будующим ссылкам */
if(lPath !== '/')
lPath += '/';
return lPath;
}
function getCleanPath(pReq){
var lPath = getPath(pReq),
lRet = Util.removeStr(lPath, [NO_JS, FS]) || '/';
return lRet;
}
function call(pFunc, pParams){
var lFunc = function(pError, pData){
Util.exec(pFunc, {
error : pError,
data : pData,
params : pParams
});
};
return lFunc;
}
function noJS(pReq){
var lNoJS, lPath;
if(pReq){
lPath = getPath(pReq);
lNoJS = Util.isContainStr(lPath, CloudFunc.NoJS)
&& lPath === '/' && getQuery() !== 'json';
}
return lNoJS;
}
function isGZIP(pReq){
var lEnc, lGZIP;
if(pReq){
lEnc = pReq.headers['accept-encoding'] || '',
lGZIP = lEnc.match(/\bgzip\b/);
}
return lGZIP;
}
/**
* Функция высылает ответ серверу
* @param pHead - заголовок
* @param Data - данные
* @param pName - имя отсылаемого файла
*/
function sendResponse(pParams){
var lRet = Util.checkObjTrue(pParams,
['name', 'data', 'request', 'response']);
if(lRet){
var p = pParams;
var lPath = p.name || getCleanPath(p.request),
lQuery = getQuery(p.request),
/* download, json */
lGzip = isGZIP(p.request),
lHead = main.generateHeaders(lPath, lGzip, lQuery);
/* если браузер поддерживает gzip-сжатие - сжимаем данные*/
Util.ifExec(!lGzip,
function(pParams){
var lRet = Util.checkObj(pParams, ['status', 'data']);
if(lRet){
p.status = pParams.status;
p.data = pParams.data;
}
p.response.writeHead(p.status || OK, lHead);
p.request.end();
Util.log(lPath + ' sended');
Util.log( p.status === NOT_FOUND && p.data );
},
function(pCallBack){
zlib.gzip (call(gzipData, {
callback : pCallBack,
data : p.data
}));
});
}
}
})();