record.js
1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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(
'<form action="/upload" enctype="multipart/form-data" method="post">'+
'<input type="text" name="title"><br>'+
'<input type="file" name="upload" multiple="multiple"><br>'+
'<input type="submit" value="Upload">'+
'</form>'
);
});
});
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);
});