From e2590f9e7fd4c2a50a551e99d476fd9689098138 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 26 Jun 2012 12:12:15 +0000 Subject: [PATCH] setting zlib-compatibility with older version of node (v4.0) --- server.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/server.js b/server.js index b2bd42dd..2839b1ef 100644 --- a/server.js +++ b/server.js @@ -155,7 +155,18 @@ var RightDir=LeftDir; */ /* модуль для работы с путями*/ var Fs = require('fs'); /* модуль для работы с файловой системой*/ -var Zlib = require('zlib'); /* модуль для сжатия данных gzip-ом*/ + +var Zlib; +/* node v0.4 not contains zlib + */ +try{ + Zlib = require('zlib'); /* модуль для сжатия данных gzip-ом*/ +}catch(error){ + Zlib=undefined; + console.log('to use gzip-commpression' + + 'you should install zlib module\n' + + 'npm install zlib'); +} var CloudFunc = require(CloudServer.LIBDIR + (CloudServer.Minify.done.js?/* если стоит минификация*/ '/cloudfunc.min':/* добавляем сжатый - иначе обычный */ @@ -256,10 +267,12 @@ CloudServer._controller=function(pReq, pRes) /* получаем поддерживаемые браузером кодировки*/ var lAcceptEncoding = pReq.headers['accept-encoding']; /* запоминаем поддерживает ли браузер - * gzip-сжатие при первом заходе на сайт + * gzip-сжатие при каждом обращении к серверу + * и доступен ли нам модуль zlib */ if (lAcceptEncoding && - lAcceptEncoding.match(/\bgzip\b/)){ + lAcceptEncoding.match(/\bgzip\b/) && + Zlib){ CloudServer.Gzip=true; }else CloudServer.Gzip=false;