diff --git a/lib/server.js b/lib/server.js index 37e7f20..2f90489 100644 --- a/lib/server.js +++ b/lib/server.js @@ -18,20 +18,20 @@ var routes = { capes: require("./routes/capes") }; -function asset_request(req, res) { +// serves assets from lib/public +function asset_request(req, callback) { var filename = path.join(__dirname, "public", req.url.path_list.join("/")); fs.exists(filename, function(exists) { if (exists) { - res.writeHead(200, { - "Content-type": mime.lookup(filename), - "Cache-Control": "max-age=7200, public", // cache for 2 hours + fs.readFile(filename, function(err, data) { + callback({ + body: data, + type: mime.lookup(filename), + err: err + }); }); - fs.createReadStream(filename).pipe(res); } else { - res.writeHead(404, { - "Content-type": "text/plain" - }); - res.end("Not Found"); + callback({}); } }); } @@ -95,7 +95,9 @@ function requestHandler(req, res) { }); break; default: - asset_request(req, res); + asset_request(req, function(result) { + response(req, res, result); + }); } } catch(e) { var error = JSON.stringify(req.headers) + "\n" + e.stack;