diff --git a/server.js b/server.js index 99daca1..b510414 100644 --- a/server.js +++ b/server.js @@ -20,18 +20,8 @@ function asset_request(req, res) { var filename = __dirname + "/public/" + req.url.path_list.join("/"); fs.exists(filename, function(exists) { if (exists) { - fs.readFile(filename, function(err, file_buffer) { - if (err) { - res.writeHead(500, {"Content-type" : "text/plain"}); - res.end("Internal Server Error"); - } else { - res.writeHead(200, { - "Content-type" : mime.lookup(filename), - "Content-Length": file_buffer.length - }); - res.end(file_buffer); - } - }); + res.writeHead(200, { "Content-type" : mime.lookup(filename) }); + fs.createReadStream(filename).pipe(res); } else { res.writeHead(404, { "Content-type" : "text/plain" @@ -42,10 +32,8 @@ function asset_request(req, res) { } function requestHandler(req, res) { - var query = url.parse(req.url).query; var request = req; - // we need to use url.parse and give the result to url.parse because nodejs - request.url = url.parse(req.url, query); + request.url = url.parse(req.url, true); request.url.query = request.url.query || {}; // remove trailing and double slashes + other junk @@ -101,4 +89,4 @@ if (require.main === module) { // cleaning worker setInterval(clean.run, config.cleaning_interval * 1000); -} +} \ No newline at end of file