Skip to content
Snippets Groups Projects
server.js 1.07 KiB
Newer Older
  • Learn to ignore specific revisions
  • const http = require('http')
    
    const process = (request, response) => {
      setTimeout(() => {
        response.end()
      }, 100)
    }
    
    console.log('Listening on port 8081...')
    http
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
      .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)