mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-24 03:05:41 +00:00
minor changes
This commit is contained in:
parent
8c27073ef3
commit
2382fcbfaf
1 changed files with 117 additions and 116 deletions
|
|
@ -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
|
||||
}));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue