billywhizz
12/3/2010 - 10:21 AM

example of hot code loading in a web server

example of hot code loading in a web server

var http = require('http');
var Script = process.binding('evals').Script;

var httpd = new http.Server();
httpd.on("listening", function() {
	console.log('Server running at http://0.0.0.0:8124/');
});

var context = {
	"name": "billy"
};
var sc = new Script("context.foo = function(req, res) {res.writeHead(200, {'Content-Type': 'text/plain'});res.end('Hello ' + context.name);}");
sc.runInNewContext({"context": context});

httpd.on("request", context.foo);
httpd.listen(8124, "0.0.0.0");

setTimeout(function() {
	console.log("reload");
	httpd.removeListener("request", context.foo);
	var sc = new Script("context.foo = function(req, res) {res.writeHead(200, {'Content-Type': 'text/plain'});res.end('Goodbye ' + context.name);}");
	sc.runInNewContext({"context": context});
	httpd.on("request", context.foo);
}, 10000);