getting request timeout in every request with http.request() in node.js

i am using nodejs http.request method to post some data to external API. I test like this:

var options={
hostname:'www.google.com',
port:80,
method:'POST'
};

var req=http.request(options,function(res){
  console.log('STATUS: ' + res.statusCode);
  console.log('HEADERS: ' + JSON.stringify(res.headers));
  res.setEncoding('utf8');
  res.on('data', function (chunk) {
    console.log('BODY: ' + chunk);
  });


});
//console.log(req);
req.on('error', function(e) {
  console.log('problem with request: ' + e.message);

});

This whole is wrapped inside a express servers post route. But in console it always says connection timeout after a certain period. I am clueless.

You are simply creating a request object. You have to send it too. Use req.end() to actually send the request.

req.on('error', function(e) {
  console.log('problem with request: ' + e.message);
});
req.end();  //add it