diff --git a/lib/server/files.js b/lib/server/files.js index 47df7a04..a585a0e0 100644 --- a/lib/server/files.js +++ b/lib/server/files.js @@ -39,36 +39,34 @@ object.readPipe = readPipe; - function readPipe(params) { - var name, names, lenght, - p = params, - options = { - gzip : p.gzip, - notEnd : true - }; + function readPipe(names, write, options, callback) { + var name, lenght; - if (p.names) { - names = p.names.slice(); - lenght = p.names.length; + if (!callback) { + callback = options; + options = { + gzip : false + }; + } + + options.notEnd = true; + + if (names) { + lenght = names.length; + names = names.slice(); } if (!lenght) { - p.write.end(); - Util.exec(p.callback); + write.end(); + callback(); } else { name = names.shift(); - pipe.create(name, p.write, options, function(error) { + pipe.create(name, write, options, function(error) { if (error) - Util.exec(p.callback, error); + callback(error); else - readPipe({ - dir : p.dir, - names : names, - write : p.write, - gzip : p.gzip, - callback : p.callback - }); + readPipe(names, write, options, callback); }); } } diff --git a/lib/server/join.js b/lib/server/join.js index a4414a08..305d893e 100644 --- a/lib/server/join.js +++ b/lib/server/join.js @@ -47,26 +47,20 @@ stream = isGzip ? gzip : res; - files.readPipe({ - names : names, - write : stream, - callback : function(error) { - var errorStr; - - if (error) - if (!res.headersSent) - main.sendError({ - request : req, - response : res, - name : path - }, error); - else { - Util.log(error); - errorStr = error.toString(); - stream.end(errorStr); - } - } - }); + files.readPipe(names, stream, function(error) { + if (error) + if (!res.headersSent) + main.sendError({ + request : req, + response : res, + name : path + }, error); + else { + Util.log(error); + stream.end(error.message); + } + } + ); /* * pipe should be setted up after