0
votes

I made http server on node.js as below.

http.createServer(function(req, res){
  var method = req.method;
  switch(method)
  {
    case 'POST':      
      var header1 = req.headers['1'];
      console.log('header1 : '+ header1);
      break;
  }
}).listen(port, function(){  
});

I request to server using postMan with header as below.

key : value
1   : 1

but the console result was below.

header1 : undefined

How can get as below?

header1 : 1

Thanks.

1
Do you have a header with the name "1"? Use req.headers['header1']; instead. That are absolutely basics. - Marc
I'm sorry, I edited it. How can I get the value of header '1' instead of 'undefined' - sungchul.seo
Provide a Minimal, Reproducible Example incl. your postman request. - Marc

1 Answers

0
votes

It works well.

Use lower-case when indexing header key!

header['main-id']

The header requested is below.

'Main-ID' : Solar
'Sub-ID'  : Jupiter

working code is below.

var http = require('http');
var port = 3000;

http.createServer(function(req, res){
  var method = req.method;
  var header = req.headers;
  var mainID = header['main-id'];
  var subID = header['sub-id'];
  switch(method)
  {
    case 'POST':
      console.log('header : \n');
      console.log(header);
      console.log('mainID : '+ mainID);
      console.log('subID  : '+ subID);
      break;
  }
}).listen(port, function(){
  console.log(`Service server running ${port}!`);
});

console is below

header :
{
   'main-id': 'Solar',
   'sub-id': 'Jupiter',
   'user-agent': 'PostmanRuntime/7.29.2',
   ...
 }
 mainID : Solar
 subID  : Jupiter

Thanks.