diff --git a/server.js b/server.js index d9653a8..dc0b721 100644 --- a/server.js +++ b/server.js @@ -47,24 +47,32 @@ function requestHandler(req, res) { request.url.query = request.url.query || {}; var local_path = request.url.pathname.split("/")[1]; - console.log("Request: " + request.url.pathname + " (" + local_path + ")"); - console.log(request.headers); + console.log(request.method + " " + request.url.pathname); - switch (local_path) { - case "": - routes.index(request, res); - break; - case "avatars": - routes.avatars(request, res); - break; - case "skins": - routes.skins(request, res); - break; - case "renders": - routes.renders(request, res); - break; - default: - asset_request(request, res); + try { + switch (local_path) { + case "": + routes.index(request, res); + break; + case "avatars": + routes.avatars(request, res); + break; + case "skins": + routes.skins(request, res); + break; + case "renders": + routes.renders(request, res); + break; + default: + asset_request(request, res); + } + } catch(e) { + var error = JSON.stringify(req.headers) + "\n" + e.stack; + logging.error("Error: " + error); + res.writeHead(500, { + "Content-Type": "text/plain" + }); + res.end(config.debug_enabled ? error : "Internal server error"); } }