6

I'm working on a nodejs project, I use request module to submit restful request and get response. (here is the module link: https://github.com/request/request)

Following the instruction, I should be able to get the response header by calling response.headers[''], however, seems it doesn't work, when I try to call var contentType = response.headers['Content-Type'], the contentType is undefined. (When I use postman, I could get Content-Type from the response). Anyone knows what's wrong?

This is the instruction from the site:

var request = require('request')
request(
    { method: 'GET'
    , uri: 'http://www.google.com'
    , gzip: true
    }
  , function (error, response, body) {
      // body is the decompressed response body
      console.log('server encoded the data as: ' + (response.headers['content-encoding'] || 'identity'))
      console.log('the decoded data is: ' + body)
    }
mscdex
  • 104,356
  • 15
  • 192
  • 153
mailme365
  • 511
  • 2
  • 9
  • 20

1 Answers1

9

In node, the headers are accessed by using lowercased names, so using response.headers['content-encoding'] is correct.

Your code snippet currently works for me and displays 'server encoded the data as: gzip.'

mscdex
  • 104,356
  • 15
  • 192
  • 153
  • The code says content-encoding and the question says content-type. Both work here so long as lowercase is used. – jeff carey Nov 20 '16 at 03:15