diff --git a/lib/server/main.js b/lib/server/main.js index bce4758a..15ad6789 100644 --- a/lib/server/main.js +++ b/lib/server/main.js @@ -184,36 +184,23 @@ lEnc = lReq.headers['accept-encoding'] || '', lGzip = lEnc.match(/\bgzip\b/), - lReadStream, + + lReadStream = fs.createReadStream(lName, { + 'bufferSize': 4 * 1024 + }); - lSendError = function(pError){ - var lJson = JSON.stringify({ - error: pError - }); - - lRes.writeHead(ERROR, 'OK'); - lRes.end(lJson); - }; - - main.fs.exists(lName, function(pExist){ - lRet = pExist; - if(pExist) - Util.tryCatch(function(){ - lReadStream = fs.createReadStream(lName, { - 'bufferSize': 4 * 1024 - }); - lRes.writeHead(OK, generateHeaders(lName, lGzip) ); - - if (lGzip) - lReadStream = lReadStream.pipe( zlib.createGzip() ); - - lReadStream.pipe(lRes); - }, lSendError); - - else - lSendError('File not Found'); + lReadStream.on('error', function(pError){ + lRes.writeHead(ERROR, 'OK'); + lRes.end(String(pError)); }); + lRes.writeHead(OK, generateHeaders(lName, lGzip) ); + + if (lGzip) + lReadStream = lReadStream.pipe( zlib.createGzip() ); + + lReadStream.pipe(lRes); + return lRet; }