mirror of
https://github.com/azures04/crafatar.git
synced 2026-03-22 07:51:17 +01:00
rewrite server.js
This commit is contained in:
parent
d5ccb72caf
commit
d10c94698f
65
server.js
65
server.js
@ -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() {
|
function asset_request(req, res) {
|
||||||
logging.debug("Crafatar server listening on port " + server.address().port);
|
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);
|
||||||
Loading…
x
Reference in New Issue
Block a user