Minetrack/lib/server.js

36 lines
781 B
JavaScript
Raw Normal View History

var http = require('http');
var fs = require('fs');
var url = require('url');
var mime = require('mime');
var io = require('socket.io');
var urlMapping = [];
exports.start = function(ip, port, callback) {
var server = http.createServer(function(req, res) {
var requestUrl = url.parse(req.url).pathname;
if (requestUrl in urlMapping) {
var file = urlMapping[requestUrl];
res.setHeader('Content-Type', mime.lookup(file));
fs.createReadStream(file).pipe(res);
} else {
res.statusCode = 404;
res.write('404');
res.end();
}
});
server.listen(port, ip);
// I don't like this. But it works, I think.
exports.io = (io = io.listen(server));
// Since everything is loaded, do some final prep work.
callback();
};
exports.urlMapping = urlMapping;