const http = require('http') const process = (request, response) => { setTimeout(() => { response.end() }, 100) } console.log('Listening on port 8081...') http .createServer(function (request, response) { const requestStart = Date.now() let errorMessage = null let body = [] request.on('data', chunk => { body.push(chunk) }) request.on('end', () => { body = Buffer.concat(body) body = body.toString() }) request.on('error', error => { errorMessage = error.message }) response.on('finish', () => { const { rawHeaders, httpVersion, method, socket, url } = request const { remoteAddress, remoteFamily } = socket console.log( JSON.stringify({ timestamp: Date.now(), processingTime: Date.now() - requestStart, rawHeaders, errorMessage, httpVersion, method, remoteAddress, remoteFamily, url, }) ) console.log(JSON.parse(body)) }) process(request, response) }) .listen(8081)