From 893f3cd1a3b8a548e3f307b73305b70c4357ffb0 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 17 Sep 2012 08:32:02 -0400 Subject: [PATCH] genereteHeaders refactored --- lib/cloudfunc.js | 11 +++++++++-- server.js | 46 +++++++++++++++++++--------------------------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/lib/cloudfunc.js b/lib/cloudfunc.js index 0d8afdc9..7ffb6d56 100644 --- a/lib/cloudfunc.js +++ b/lib/cloudfunc.js @@ -272,7 +272,7 @@ CloudFunc._getDirPath = function(url) * @pName - получает имя файла * @pExt - расширение */ -CloudFunc.checkExtension=function(pName,pExt) +CloudFunc.checkExtension = function(pName, pExt) { /* если длина имени больше * длинны расширения - @@ -296,6 +296,12 @@ CloudFunc.checkExtension=function(pName,pExt) return false; }; +CloudFunc.getExtension = function(pName){ + var lDot = pName.lastIndexOf('.'); + + return pName.substr(lDot); +}; + /* * Функция формирует заголовки столбиков * @pFileTableTitles - массив названий столбиков @@ -484,8 +490,9 @@ CloudFunc.buildFromJSON = function(pJSON, pKeyBinded) */ try{ if(exports){ - /* экспортируемые функции */ + /* экспортируемые функции */ exports.checkExtension = CloudFunc.checkExtension; + exports.getExtension = CloudFunc.getExtension; exports.buildFromJSON = CloudFunc.buildFromJSON; exports.setTitle = CloudFunc.setTitle; exports.getUserUIDsAndNames = CloudFunc.getUserUIDsAndNames; diff --git a/server.js b/server.js index 6473303a..d4bb5af1 100644 --- a/server.js +++ b/server.js @@ -78,7 +78,17 @@ var CloudServer = { /* КОНСТАНТЫ */ INDEX : 'index.html', LIBDIR : './lib', - LIBDIRSERVER : './lib/server' + LIBDIRSERVER : './lib/server', + Extensions :{ + '.css' : 'text/css', + '.js' : 'text/javascript', + '.png' : 'image/png', + '.json' : 'application/json', + '.html' : 'text/html', + '.woff' : 'font/woff', + '.appcache' : 'text/cache-manifest', + '.mp3' : 'audio/mpeg' + } }; var DirPath = '/'; @@ -191,33 +201,15 @@ CloudServer.generateHeaders = function(pName, pGzip){ /* если расширение у файла css - * загружаем стили */ - if(CloudFunc.checkExtension(pName,'css')) - lType = 'text/css'; - /* загружаем js */ - else if(CloudFunc.checkExtension(pName,'js')) - lType = 'text/javascript'; - /* загружаем картинки*/ - else if(CloudFunc.checkExtension(pName,'png')) - lType = 'image/png'; - /* загружаем json*/ - else if(CloudFunc.checkExtension(pName,'json')) - lType = 'application/json'; - else if(CloudFunc.checkExtension(pName,'html')) - lType = 'text/html'; - else if(CloudFunc.checkExtension(pName,'woff')) - lType = 'font/woff'; - else if(CloudFunc.checkExtension(pName,'appcache')){ - lType = 'text/cache-manifest'; + + var lExt = CloudFunc.getExtension(pName); + console.log(lExt); + lType = CloudServer.Extensions[lExt] || 'text/plain'; + console.log(lType); + + if(lExt === '.appcache') lCacheControl = 1; - } - else if(CloudFunc.checkExtension(pName,'mp3')) - lType = 'audio/mpeg'; - - /* если это неизвестный тип файла - - * высылаем его просто как текст - */ - else lType='text/plain'; - + var lQuery = CloudServer.Queries[pName]; if(lQuery){ if(lQuery === 'download')