|
@@ -2,13 +2,70 @@
|
|
var config = require("./modules/config");
|
|
var config = require("./modules/config");
|
|
var logging = require("./modules/logging");
|
|
var logging = require("./modules/logging");
|
|
var clean = require("./modules/cleaner");
|
|
var clean = require("./modules/cleaner");
|
|
-var app = require("./app");
|
|
|
|
|
|
+var http = require("http");
|
|
|
|
+var mime = require("mime");
|
|
|
|
+var url = require("url");
|
|
|
|
+var fs = require("fs");
|
|
|
|
|
|
-app.set("port", process.env.PORT || 3000);
|
|
|
|
|
|
+var routes = {
|
|
|
|
+ index: require("./routes/index"),
|
|
|
|
+ avatars: require("./routes/avatars"),
|
|
|
|
+ skins: require("./routes/skins"),
|
|
|
|
+ renders: require("./routes/renders")
|
|
|
|
+};
|
|
|
|
|
|
-var server = app.listen(app.get("port"), function() {
|
|
|
|
- logging.debug("Crafatar server listening on port " + server.address().port);
|
|
|
|
-});
|
|
|
|
|
|
+function asset_request(req, res) {
|
|
|
|
+ var filename = __dirname + "/public/" + req.pathname;
|
|
|
|
+ fs.exists(filename, function(exists) {
|
|
|
|
+ if (exists) {
|
|
|
|
+ fs.readFile(filename, function(err, contents) {
|
|
|
|
+ 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": contents.length
|
|
|
|
+ });
|
|
|
|
+ res.end(contents);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ res.writeHead(404, {
|
|
|
|
+ "Content-type" : "text/plain"
|
|
|
|
+ });
|
|
|
|
+ res.end("Not found");
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function requestHandler(req, res) {
|
|
|
|
+ var querystring = url.parse(req.url).query;
|
|
|
|
+ // we need to use url.parse and give the result to url.parse because nodejs
|
|
|
|
+ var prequest = url.parse(req.url, querystring);
|
|
|
|
+
|
|
|
|
+ console.log("Request: " + prequest.pathname);
|
|
|
|
+ console.log("Params: " + JSON.stringify(prequest.query));
|
|
|
|
+
|
|
|
|
+ switch (prequest.pathname) {
|
|
|
|
+ case "/":
|
|
|
|
+ routes.index(prequest, res);
|
|
|
|
+ break;
|
|
|
|
+ case "/avatars":
|
|
|
|
+ routes.avatars(prequest, res);
|
|
|
|
+ break;
|
|
|
|
+ case "/skins":
|
|
|
|
+ routes.skins(prequest, res);
|
|
|
|
+ break;
|
|
|
|
+ case "/renders":
|
|
|
|
+ routes.renders(prequest, res);
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ asset_request(prequest, res);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+http.createServer(requestHandler).listen(process.env.PORT || 3000);
|
|
|
|
|
|
// cleaning worker
|
|
// cleaning worker
|
|
setInterval(clean.run, config.cleaning_interval * 1000);
|
|
setInterval(clean.run, config.cleaning_interval * 1000);
|