var http = require('http'); var fs = require('fs'); var connections = 0; var server = http.createServer(function(req, res) { var socket = req.socket; console.log('Request: %s %s -> %s', req.method, req.url, socket.filename); req.on('end', function() { if (req.url !== '/') { res.end(JSON.stringify({ method: req.method, url: req.url, filename: socket.filename, })); return; } res.writeHead(200, {'content-type': 'text/html'}); res.end( '
' ); }); }); server.on('connection', function(socket) { connections++; socket.id = connections; socket.filename = 'connection-' + socket.id + '.http'; socket.file = fs.createWriteStream(socket.filename); socket.pipe(socket.file); console.log('--> %s', socket.filename); socket.on('close', function() { console.log('<-- %s', socket.filename); }); }); var port = process.env.PORT || 8080; server.listen(port, function() { console.log('Recording connections on port %s', port); });