http.createServer(function(request, response) {
servers.setHeaders(request, response);
var urlObj = url.parse(request.url, true);
var query = urlObj.query;
var pathname = urlObj.pathname;
if (pathname[0] === '/') { pathname = pathname.slice(1); }
if (pathname === 'db') {
response.setHeader('Content-Type', 'application/json');
if (query.set) {
switch (query.set) {
case 'waiting': games.wait(response, query); return;
case 'back': games.back(response, query); return;
case 'poll': mongo.pollSet(response, query); return;
case 'rank': rank.set(query); return;
case 'errors': errorLog.set(query); return;
default: games.set(query.set, query.data, function(data) { servers.send(response, data); }); return;
}
} else if (query.get) {
switch (query.get) {
case 'server': servers.send(response, JSON.stringify({ status: 'online' })); return;
case 'lang': servers.send(response, JSON.stringify({ lang: request.headers['accept-language'] || ''})); return;
case 'waiting': servers.send(response, JSON.stringify(games.waiting)); return;
case 'rank':servers.send(response, JSON.stringify(mongo.rank)); return;
default: games.get(query.get, function(data) { servers.send(response, data); }); return;
}
} else { servers.send(response, '{"msg": "FODA DataBase working!"}'); return; }
} else servers.staticServer(request, response);
}).listen(port, host);