From 9d79105dd7dcaa53c4284759ec507736c3f07568 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Thu, 31 Jan 2013 08:56:12 -0500 Subject: [PATCH] refactored --- json/config.json | 2 +- lib/server.js | 48 +++++++++++++++++++----------------------- lib/server/minify.js | 7 ++----- lib/util.js | 50 +++++++++++++++++++++++++------------------- 4 files changed, 53 insertions(+), 54 deletions(-) diff --git a/json/config.json b/json/config.json index 428b8a2c..69ce0eb2 100644 --- a/json/config.json +++ b/json/config.json @@ -2,7 +2,7 @@ "api_url" : "/api/v1", "appcache" : false, "minification" : { - "js" : false, + "js" : true, "css" : true, "html" : true, "img" : true diff --git a/lib/server.js b/lib/server.js index 27ef516d..2064cff7 100644 --- a/lib/server.js +++ b/lib/server.js @@ -262,24 +262,26 @@ AppCache.watch(lName); Util.log(Path.basename(lName)); - var lMin_o = lConfig.minification, + var lMin = lConfig.minification, lExt = Util.getExtension(lName), - lResult = lExt === '.js' && lMin_o.js || - lExt === '.css' && lMin_o.css || - lExt === '.html' && lMin_o.html; + lResult = lExt === '.js' && lMin.js || + lExt === '.css' && lMin.css || + lExt === '.html' && lMin.html; - if(lResult) - lResult = Minify.optimize(lName, { - request : pReq, - response : pRes - }); - if(!lResult) + Util.ifExec(lResult, function(){ main.sendFile({ name: lName, request: pReq, response: pRes }); + }, function(pCallBack){ + Minify.optimize(lName, { + request : pReq, + response : pRes, + callback : pCallBack + }); + }); }else{ /* если мы имеем дело с файловой системой @@ -312,6 +314,7 @@ if(lQuery === 'json') CloudServer.NoJS = false; + /* Если мы не в корне добавляем слеш к будующим ссылкам */ DirPath = lPath || '/'; CloudServer.Responses[DirPath] = pRes; @@ -332,10 +335,9 @@ * загружаем сжатый html-файл в дальнейшем */ - var lMinFileName = Minify.getName(main.DIR + 'html/index.html'); + var lMinName = Minify.getName(main.DIR + 'html/index.html'); - CloudServer.INDEX = (Minify._allowed.html ? - lMinFileName : CloudServer.INDEX); + CloudServer.INDEX = Minify._allowed.html ? lMinName : CloudServer.INDEX; /* * сохраним указатель на response @@ -352,22 +354,18 @@ * @param pStat */ CloudServer._stated = function(pError, pStat){ - if(pError){ - CloudServer.Statuses[DirPath] = 404; - CloudServer.sendResponse(null, pError.toString(), DirPath); - - return; - } - - /* если это каталог - читаем его содержимое */ - if(pStat){ + if(!pError && pStat){ + /* если это каталог - читаем его содержимое */ if(pStat.isDirectory()) Fs.readdir(DirPath, CloudServer._readDir); /* отдаём файл */ - else if(pStat.isFile()){ + else { Fs.readFile(DirPath, CloudServer.getReadFileFunc(DirPath)); Util.log('reading file: '+ DirPath); } + }else{ + CloudServer.Statuses[DirPath] = 404; + CloudServer.sendResponse(null, pError.toString(), DirPath); } }; @@ -387,10 +385,6 @@ return; } - /* Если мы не в корне добавляем слеш к будующим ссылкам */ - if(DirPath !== '/') - DirPath += '/'; - pFiles = pFiles.sort(); var lCount = 0, diff --git a/lib/server/minify.js b/lib/server/minify.js index 8f2fd45b..30978ed4 100644 --- a/lib/server/minify.js +++ b/lib/server/minify.js @@ -59,12 +59,9 @@ var lRet; if(Minify){ - if( !Util.isObject(pName) ){ + if( !Util.isObject(pName) ) pParams.name = Minify.getName(pName); - pParams.callback = Util.retExec(function(pParams){ - main.sendFile(pParams); - }, pParams); - } + lRet = this._allowed.css || this._allowed.js || this._allowed.html; if(!this.MinFolder) diff --git a/lib/util.js b/lib/util.js index efc8582c..d1448d6f 100644 --- a/lib/util.js +++ b/lib/util.js @@ -65,6 +65,28 @@ Util = exports || {}; return lRet; }; + /** for function + * @param pI + * @param pN + * @param pFunc + */ + Util.for = function(pI, pN, pFunc){ + if(Util.isFunction(pFunc)) + for(var i = pI, n = pN; i < n; i++){ + if(pFunc(i)) + break; + } + }; + + /** for function with i = 0 + * @param pN + * @param pFunc + Util.fori = function(pN, pFunc){ + var lRet = Util.for(0, pN, pFunc); + + return lRet; + }; + /** * @pJSON */ @@ -191,17 +213,6 @@ Util = exports || {}; return lRet; }; - Util.for = function(pI, pN, pFunc){ - if(Util.isFunction(pFunc)) - for(var i = pI, n = pN; i < n; i++) - pFunc(i); - }; - - Util.fori = function(pN, pFunc){ - var lRet = Util.for(0, pN, pFunc); - - return lRet; - }; /** * function replase pFrom to pTo in pStr @@ -570,9 +581,10 @@ Util = exports || {}; Util.getExtension = function(pFileName){ var lRet, lDot; - if( Util.isString(pFileName) ) + if( Util.isString(pFileName) ){ lDot = pFileName.lastIndexOf('.'); lRet = pFileName.substr(lDot); + } return lRet; }; @@ -589,8 +601,9 @@ Util = exports || {}; pArr = pArr.data; if(pArr) - for(var i = 0, n = pArr.length; i < n; i++) + Util.fori(pArr.length, function(i){ lRet[i] = pArr[i].name || pArr[i]; + }); return lRet; }; @@ -601,16 +614,11 @@ Util = exports || {}; * @pObj */ Util.findObjByNameInArr = function(pArr, pObjName){ - var lRet, - lSearch; + var lRet; if(pArr){ - for(var i = 0, n = pArr.length; i < n; i++ ){ - lSearch = pArr[i].name; - - if(lSearch === pObjName) - break; - } + for(var i = 0, n = pArr.length; i < n; i++ ) + if(pArr[i].name === pObjName) break; lRet = pArr[i]; }