First commit, most of the backend system! :)
This commit is contained in:
36
lib/server.js
Normal file
36
lib/server.js
Normal file
@ -0,0 +1,36 @@
|
||||
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;
|
Reference in New Issue
Block a user