title: node.js - http with base64
body: <p>I'm a node.js newbie stuck trying to implement base64 encoding.  My server doesn't seem to receive/process the base64 message.  Code below:</p>
  
  <p>Server:</p>
  
  <pre><code>var http = require('http');
  http.createServer(function (req, res) {
    req.on('data',function(b) {
      console.log("HEY!"); // &lt;--- Never gets called
      var content = new Buffer(b, 'base64').toString('utf8')
      console.log("CLIENT SAID: "+content);
      var msg = JSON.parse(content);
      // do stuff and respond here...
    });
  }).listen(1337, '127.0.0.1');
  console.log('Server running at http://127.0.0.1:1337/');
  </code></pre>
  
  <p>Client:</p>
  
  <pre><code>var http = require('http');
  var options = {
    hostname : 'localhost',
    port     : 1337,
    method   : 'POST'
  };
  var req = http.request(options, function(res) {
    res.setEncoding('base64');
    res.on('data', function (chunk) {
      console.log('BODY: ' + chunk);
    });
  });
  req.on('error', function(e) {
    console.log('problem with request: ' + e.message);
  });
  
  // write data to request body
  var msg = {'name':'Fred','age':23};
  var msgS = JSON.stringify(msg);
  req.write(msgS,'base64');
  req.end();
  </code></pre>
  
  <p>Any ideas what I'm doing wrong? </p>