123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- var http = require("http");
- var fs = require("fs");
- var Api = require("./api.js");
-
- var conf = JSON.parse(fs.readFileSync("conf.json"));
-
- var files = {
- "/": "index.html",
- "/404": "404.html",
- "/viewer": "viewer.node.js"
- }
-
- //Prepare files
- var errs = false;
- Object.keys(files).forEach(function(i) {
- try {
- if (/\.node\.js$/.test(files[i]))
- files[i] = require("./"+conf.webroot+"/"+files[i]);
- else
- files[i] = fs.readFileSync(conf.webroot+"/"+files[i], "utf8");
- } catch (err) {
- console.log(err.toString());
- errs = true;
- }
- });
- if (errs)
- process.exit();
-
- //Prepare all templates
- var templates = {};
- fs.readdirSync("templates").forEach(function(f) {
- templates[f.replace(/\.html$/, "")] = fs.readFileSync("templates/"+f, "utf8");
- });
-
- function onRequest(req, res) {
- console.log("Request for "+req.url);
-
- var file = files[req.url];
-
- if (!file) {
- file = files["/404"];
- res.writeHead(404);
- }
-
- if (typeof file == "function")
- file(new Api(req, res, templates, conf));
- else
- res.end(file);
- }
-
- var server = http.createServer(onRequest);
- server.listen(conf.port);
-
- console.log("Listening on port "+conf.port+".");
|