diff --git a/lib/server.js b/lib/server.js index 3634021b..27f00a66 100644 --- a/lib/server.js +++ b/lib/server.js @@ -214,7 +214,7 @@ } function combine(params) { - var names, i, n, name, minName, + var names, i, n, name, minName, stream, funcs = [], config = main.config, dir = DIR, @@ -226,24 +226,30 @@ isCombine = Util.isContainStrAtBegin(path, COMBINE), readPipe = function() { main.mainSetHeader({ - name : name, + name : names[0], cache : config.cache, gzip : isGzip, request : p.request, response : p.response }); + if (!isGzip) + stream = p.response; + else + stream = gzip; + files.readPipe({ names : names, dir : dir, - write : gzip, + write : stream, callback : function(error) { if (error) main.sendError(params, error); } }); - gzip.pipe(p.response); + if (isGzip) + gzip.pipe(p.response); }; if (isCombine) { @@ -265,10 +271,8 @@ funcs.push(minify(name)); } - Util.asyncCall(funcs, readPipe); } - } return isCombine;