36 lines
1 KiB
JavaScript
36 lines
1 KiB
JavaScript
var proxy = require('http-proxy').createProxyServer({
|
|
target: {host: 'localhost', port: 9000}
|
|
}).on('error', function(err, req, res) {
|
|
console.log('[ERROR] %s', err);
|
|
res.end();
|
|
});
|
|
var server = require('http').createServer(function(req, res) {
|
|
console.log('[REQUEST.%s] %s', req.method, req.url);
|
|
console.log(req['headers']);
|
|
if (req.method == 'POST') {
|
|
var body = '';
|
|
req.on('data', function (data) {
|
|
body += data;
|
|
});
|
|
req.on('end', function () {
|
|
print_body('[REQUEST.BODY] ', body);
|
|
});
|
|
}
|
|
var write = res.write;
|
|
res.write = function(data) {
|
|
print_body('[RESPONSE.BODY] ', data);
|
|
write.call(res, data);
|
|
}
|
|
proxy.web(req, res);
|
|
});
|
|
function print_body(header, body) {
|
|
var text = String(body);
|
|
console.log(header + text);
|
|
if (text.charCodeAt(0) != 0) return;
|
|
for (var i = 0; i < text.length; i++) {
|
|
var character_code = text.charCodeAt(i);
|
|
console.log('body[%s] = %s = %s', i, text[i], character_code);
|
|
if (character_code == 65533) break;
|
|
}
|
|
}
|
|
server.listen(8000);
|