|  | @@ -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;
 |