diff --git a/lib/server.js b/lib/server.js index 65ae3811..3634021b 100644 --- a/lib/server.js +++ b/lib/server.js @@ -24,6 +24,7 @@ AppCache = main.appcache, Socket = main.socket, + zlib = main.zlib, http = main.http, https = main.https, Util = main.util, @@ -217,15 +218,32 @@ funcs = [], config = main.config, dir = DIR, + gzip = zlib.createGzip(), p = params, + isGzip = main.isGZIP(p.request), path = params.name, COMBINE = '/combine/', isCombine = Util.isContainStrAtBegin(path, COMBINE), readPipe = function() { - files.readPipe(names, dir, p.response, function(error) { - if (error) - main.sendError(params, error); + main.mainSetHeader({ + name : name, + cache : config.cache, + gzip : isGzip, + request : p.request, + response : p.response }); + + files.readPipe({ + names : names, + dir : dir, + write : gzip, + callback : function(error) { + if (error) + main.sendError(params, error); + } + }); + + gzip.pipe(p.response); }; if (isCombine) {