From 352ca8388e5d4accb64a4c9f4c8e99c86474fd8a Mon Sep 17 00:00:00 2001 From: coderaiser Date: Thu, 31 Jan 2013 04:19:16 -0500 Subject: [PATCH] moved extensions from main.js to json/ext.json --- ChangeLog | 2 + json/ext.json | 167 +++++++++++++++++++++++++++++++++++++++++++++ lib/server.js | 2 +- lib/server/main.js | 29 +++----- 4 files changed, 181 insertions(+), 19 deletions(-) create mode 100644 json/ext.json diff --git a/ChangeLog b/ChangeLog index 3331bfd3..abf1f564 100644 --- a/ChangeLog +++ b/ChangeLog @@ -120,6 +120,8 @@ time was changed. * Removed ability to cache files in memory. +* Moved extensions from main.js to json/ext.json. + 2012.12.12, Version 0.1.8 diff --git a/json/ext.json b/json/ext.json new file mode 100644 index 00000000..86c87580 --- /dev/null +++ b/json/ext.json @@ -0,0 +1,167 @@ +{ + ".3gp": "video/3gpp", + ".a": "application/octet-stream", + ".ai": "application/postscript", + ".aif": "audio/x-aiff", + ".aiff": "audio/x-aiff", + ".asc": "application/pgp-signature", + ".asf": "video/x-ms-asf", + ".asm": "text/x-asm", + ".asx": "video/x-ms-asf", + ".atom": "application/atom+xml", + ".au": "audio/basic", + ".avi": "video/x-msvideo", + ".bat": "application/x-msdownload", + ".bin": "application/octet-stream", + ".bmp": "image/bmp", + ".bz2": "application/x-bzip2", + ".c": "text/x-c", + ".cab": "application/vnd.ms-cab-compressed", + ".cc": "text/x-c", + ".chm": "application/vnd.ms-htmlhelp", + ".class": "application/octet-stream", + ".com": "application/x-msdownload", + ".conf": "text/plain", + ".cpp": "text/x-c", + ".crt": "application/x-x509-ca-cert", + ".css": "text/css", + ".csv": "text/csv", + ".cxx": "text/x-c", + ".deb": "application/x-debian-package", + ".der": "application/x-x509-ca-cert", + ".diff": "text/x-diff", + ".djv": "image/vnd.djvu", + ".djvu": "image/vnd.djvu", + ".dll": "application/x-msdownload", + ".dmg": "application/octet-stream", + ".doc": "application/msword", + ".dot": "application/msword", + ".dtd": "application/xml-dtd", + ".dvi": "application/x-dvi", + ".ear": "application/java-archive", + ".eml": "message/rfc822", + ".eps": "application/postscript", + ".exe": "application/x-msdownload", + ".f": "text/x-fortran", + ".f77": "text/x-fortran", + ".f90": "text/x-fortran", + ".flv": "video/x-flv", + ".for": "text/x-fortran", + ".gem": "application/octet-stream", + ".gemspec": "text/x-script.ruby", + ".gif": "image/gif", + ".gz": "application/x-gzip", + ".h": "text/x-c", + ".hh": "text/x-c", + ".htm": "text/html", + ".html": "text/html", + ".ico": "image/vnd.microsoft.icon", + ".ics": "text/calendar", + ".ifb": "text/calendar", + ".iso": "application/octet-stream", + ".jar": "application/java-archive", + ".java": "text/x-java-source", + ".jnlp": "application/x-java-jnlp-file", + ".jpeg": "image/jpeg", + ".jpg": "image/jpeg", + ".js": "application/javascript", + ".json": "application/json", + ".log": "text/plain", + ".m3u": "audio/x-mpegurl", + ".m4v": "video/mp4", + ".man": "text/troff", + ".mathml": "application/mathml+xml", + ".mbox": "application/mbox", + ".mdoc": "text/troff", + ".me": "text/troff", + ".mid": "audio/midi", + ".midi": "audio/midi", + ".mime": "message/rfc822", + ".mml": "application/mathml+xml", + ".mng": "video/x-mng", + ".mov": "video/quicktime", + ".mp3": "audio/mpeg", + ".mp4": "video/mp4", + ".mp4v": "video/mp4", + ".mpeg": "video/mpeg", + ".mpg": "video/mpeg", + ".ms": "text/troff", + ".msi": "application/x-msdownload", + ".odp": "application/vnd.oasis.opendocument.presentation", + ".ods": "application/vnd.oasis.opendocument.spreadsheet", + ".odt": "application/vnd.oasis.opendocument.text", + ".ogg": "application/ogg", + ".p": "text/x-pascal", + ".pas": "text/x-pascal", + ".pbm": "image/x-portable-bitmap", + ".pdf": "application/pdf", + ".pem": "application/x-x509-ca-cert", + ".pgm": "image/x-portable-graymap", + ".pgp": "application/pgp-encrypted", + ".pkg": "application/octet-stream", + ".pl": "text/x-script.perl", + ".pm": "text/x-script.perl-module", + ".png": "image/png", + ".pnm": "image/x-portable-anymap", + ".ppm": "image/x-portable-pixmap", + ".pps": "application/vnd.ms-powerpoint", + ".ppt": "application/vnd.ms-powerpoint", + ".ps": "application/postscript", + ".psd": "image/vnd.adobe.photoshop", + ".py": "text/x-script.python", + ".qt": "video/quicktime", + ".ra": "audio/x-pn-realaudio", + ".rake": "text/x-script.ruby", + ".ram": "audio/x-pn-realaudio", + ".rar": "application/x-rar-compressed", + ".rb": "text/x-script.ruby", + ".rdf": "application/rdf+xml", + ".roff": "text/troff", + ".rpm": "application/x-redhat-package-manager", + ".rss": "application/rss+xml", + ".rtf": "application/rtf", + ".ru": "text/x-script.ruby", + ".s": "text/x-asm", + ".sgm": "text/sgml", + ".sgml": "text/sgml", + ".sh": "application/x-sh", + ".sig": "application/pgp-signature", + ".snd": "audio/basic", + ".so": "application/octet-stream", + ".svg": "image/svg+xml", + ".svgz": "image/svg+xml", + ".swf": "application/x-shockwave-flash", + ".t": "text/troff", + ".tar": "application/x-tar", + ".tbz": "application/x-bzip-compressed-tar", + ".tcl": "application/x-tcl", + ".tex": "application/x-tex", + ".texi": "application/x-texinfo", + ".texinfo": "application/x-texinfo", + ".text": "text/plain", + ".tif": "image/tiff", + ".tiff": "image/tiff", + ".torrent": "application/x-bittorrent", + ".tr": "text/troff", + ".txt": "text/plain", + ".vcf": "text/x-vcard", + ".vcs": "text/x-vcalendar", + ".vrml": "model/vrml", + ".war": "application/java-archive", + ".wav": "audio/x-wav", + ".wma": "audio/x-ms-wma", + ".wmv": "video/x-ms-wmv", + ".wmx": "video/x-ms-wmx", + ".wrl": "model/vrml", + ".wsdl": "application/wsdl+xml", + ".xbm": "image/x-xbitmap", + ".xhtml": "application/xhtml+xml", + ".xls": "application/vnd.ms-excel", + ".xml": "application/xml", + ".xpm": "image/x-xpixmap", + ".xsl": "application/xml", + ".xslt": "application/xslt+xml", + ".yaml": "text/yaml", + ".yml": "text/yaml", + ".zip": "application/zip" +} \ No newline at end of file diff --git a/lib/server.js b/lib/server.js index d67a8188..ec24a739 100644 --- a/lib/server.js +++ b/lib/server.js @@ -293,7 +293,7 @@ CloudServer.NoJS = false; else{ CloudServer.NoJS = true; - lPath = Util.removeStr(lPath, lNoJS_s); + lPath = Util.removeStr(lPath, lNoJS_s); } /* убираем индекс файловой системы */ diff --git a/lib/server/main.js b/lib/server/main.js index af9d5906..c0f3d1ef 100644 --- a/lib/server/main.js +++ b/lib/server/main.js @@ -16,20 +16,10 @@ fs, path, zlib, + ext, OK = 200, - ERROR = 404, - 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' - }; - + FILE_NOT_FOUND = 404; /* Native Modules*/ exports.crypto = require('crypto'), @@ -65,13 +55,14 @@ exports.fs.exists = exports.fs.exists || exports.path.exists; /* Needed Modules */ - exports.util = Util = require(LIBDIR + 'util'), + exports.util = Util = require(LIBDIR + 'util'), - exports.zlib = zlib = mrequire('zlib'), + exports.zlib = zlib = mrequire('zlib'), /* Main Information */ - exports.config = mrequire(JSONDIR + 'config'); - exports.modules = mrequire(JSONDIR + 'modules'); + exports.config = jsonrequire('config'); + exports.modules = jsonrequire('modules'); + exports.ext = ext = jsonrequire('ext'); exports.mainpackage = rootrequire('package'); @@ -122,6 +113,8 @@ function srvrequire(pSrc){ return mrequire(SRVDIR + pSrc); } + function jsonrequire(pSrc){ return mrequire(JSONDIR + pSrc);} + /** * function check is current platform is win32 */ @@ -146,7 +139,7 @@ if( Util.strCmp(lExt, '.appcache') ) lCacheControl = 1; - lType = Extensions[lExt] || 'text/plain'; + lType = ext[lExt] || 'text/plain'; if( !Util.isContainStr(lType, 'img') ) lContentEncoding = '; charset=UTF-8'; @@ -202,7 +195,7 @@ }); lReadStream.on('error', function(pError){ - lRes.writeHead(ERROR, 'OK'); + lRes.writeHead(FILE_NOT_FOUND, 'OK'); lRes.end(String(pError)); });