|
@@ -16,7 +16,7 @@ var routes = {
|
|
|
avatars: require("./routes/avatars"),
|
|
|
skins: require("./routes/skins"),
|
|
|
renders: require("./routes/renders"),
|
|
|
- capes: require("./routes/capes")
|
|
|
+ capes: require("./routes/capes"),
|
|
|
};
|
|
|
|
|
|
// serves assets from lib/public
|
|
@@ -28,7 +28,7 @@ function asset_request(req, callback) {
|
|
|
callback({
|
|
|
body: data,
|
|
|
type: mime.lookup(filename),
|
|
|
- err: err
|
|
|
+ err: err,
|
|
|
});
|
|
|
});
|
|
|
} else {
|
|
@@ -70,60 +70,62 @@ function requestHandler(req, res) {
|
|
|
|
|
|
toobusy.maxLag(200);
|
|
|
if (toobusy() && !process.env.TRAVIS) {
|
|
|
- res.writeHead(503, {
|
|
|
- "Content-Type": "text/plain"
|
|
|
+ response(req, res, {
|
|
|
+ status: -1,
|
|
|
+ body: "Server is over capacity :/",
|
|
|
+ err: "Too busy",
|
|
|
+ code: 503,
|
|
|
});
|
|
|
- res.end("Server is over capacity :/");
|
|
|
- logging.error("Too busy:", req.id, 503, Date.now() - req.start + "ms", "(error)");
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (req.method === "GET" || req.method === "HEAD") {
|
|
|
try {
|
|
|
switch (local_path) {
|
|
|
- case "":
|
|
|
+ case "":
|
|
|
routes.index(req, function(result) {
|
|
|
response(req, res, result);
|
|
|
});
|
|
|
break;
|
|
|
- case "avatars":
|
|
|
+ case "avatars":
|
|
|
routes.avatars(req, function(result) {
|
|
|
response(req, res, result);
|
|
|
});
|
|
|
break;
|
|
|
- case "skins":
|
|
|
+ case "skins":
|
|
|
routes.skins(req, function(result) {
|
|
|
response(req, res, result);
|
|
|
});
|
|
|
break;
|
|
|
- case "renders":
|
|
|
+ case "renders":
|
|
|
routes.renders(req, function(result) {
|
|
|
response(req, res, result);
|
|
|
});
|
|
|
break;
|
|
|
- case "capes":
|
|
|
+ case "capes":
|
|
|
routes.capes(req, function(result) {
|
|
|
response(req, res, result);
|
|
|
});
|
|
|
break;
|
|
|
- default:
|
|
|
+ default:
|
|
|
asset_request(req, function(result) {
|
|
|
response(req, res, result);
|
|
|
});
|
|
|
}
|
|
|
} catch(e) {
|
|
|
var error = JSON.stringify(req.headers) + "\n" + e.stack;
|
|
|
- logging.error(req.id + "Error:", error);
|
|
|
- res.writeHead(500, {
|
|
|
- "Content-Type": "text/plain"
|
|
|
+ response(req, res, {
|
|
|
+ status: -1,
|
|
|
+ body: config.server.debug_enabled ? error : "Internal Server Error",
|
|
|
+ err: error,
|
|
|
});
|
|
|
- res.end(config.server.debug_enabled ? error : "Internal Server Error");
|
|
|
}
|
|
|
} else {
|
|
|
- res.writeHead(405, {
|
|
|
- "Content-Type": "text/plain"
|
|
|
+ response(req, res, {
|
|
|
+ status: -2,
|
|
|
+ body: "Method Not Allowed",
|
|
|
+ code: 405,
|
|
|
});
|
|
|
- res.end("Method Not Allowed");
|
|
|
}
|
|
|
}
|
|
|
|