node-simple-router
Version:
Yet another minimalistic router for node.js
51 lines (41 loc) • 1.59 kB
JavaScript
// Generated by CoffeeScript 1.6.3
(function() {
var fs, handler, net, server;
net = require('net');
fs = require('fs');
if (fs.existsSync('/tmp/node_scgi.sk')) {
fs.unlinkSync('/tmp/node_scgi.sk');
}
handler = function(conn) {
conn.on('data', function(data) {
var line, _i, _len, _ref;
console.log("============================================");
console.log("============== INCOMING DATA ===============");
console.log("============================================");
_ref = data.toString().split('\0');
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
line = _ref[_i];
console.log(line);
}
console.log("============================================");
console.log("========== END OF INCOMING DATA ============");
return console.log("============================================");
});
return conn.on('end', function(data) {
if (data) {
console.log("FINAL DATA: " + (data.toString()));
}
conn.write("Status: 200 OK\r\n");
conn.write("Content-type: text/html\r\n");
conn.write("<title>SCGI via Node.js</title>\r\n");
conn.write("<h3 style='text-align: center; color: magenta;'>Node.js SCGI Server</h3><hr/>\r\n");
return conn.end("<p>Current time: <strong>" + (new Date().toLocaleString()) + "</stron></p>");
});
};
server = net.createServer({
allowHalfOpen: true
}, handler);
process.umask(0x49);
console.log("Serving SCGI on '/tmp/node_scgi.sk'");
server.listen('/tmp/node_scgi.sk');
}).call(this);