POSTなどを受け取る

なんかgistに残ってた、前に書いたコード?

var fs = require('fs'),
    http = require('http'),
    qs = require('querystring'),
    httpRouter = require('http-router'),
    server = http.createServer(),
    router = new httpRouter;

router
  .get('/', function(req, res, next) {
      res.once('error', function(err) {
        res.writeHead(500);
        res.end(err);
        return;
      });

      return next();
    })
  .get('/', function(req, res, next) {
      fs.createReadStream('./index.html').pipe(res);
    })
  .get('/redirected', function(req, res, next) {
      res.writeHead(200, {
        'Content-Type': 'text/plain; charset=utf-8'
      });
      res.end('redirected');
    })
  .post('/xhr', function(req, res, next) {
      res.writeHead(200);
      res.end('asdf');
    })
  .post('/post', function(req, res, next) {
      var data = '';

      function add() {
        var buf;
        buf = req.read(1);
        if (buf !== null) {
          data += buf;
          setImmediate(add);
        }
      }
      req.on('readable', function() {
        add();
      });
      req.once('end', function() {
        var obj = qs.parse(data);

        console.log(obj.textValue);
        console.log(obj.hiddenValue);

        res.writeHead(303, {
          'Location': '/redirected'
        });
        res.end();

        process.nextTick(function() {
          req.removeAllListeners();
        });
      });
    });

server.on('request', function(req, res) {
  if (!router.route(req, res)) {
    res.writeHead(501);
    res.end();
  }
});
server.listen(3000, function() {
  console.log('http://localhost:3000/');
});
<!DOCTYPE html>
<meta charset="utf-8">
<title>index.html</title>
<form action="/post" method="POST">
  <input name="textValue" type="text" value="" placeholder="text">
  <input name="hiddenValue" type="hidden" value="hidden value">
  <input type="submit" value="submit">
</form>
<button id="xhr">xhr</button>
<script>
  document.addEventListener('DOMContentLoaded', function() {
    document.getElementById('xhr').addEventListener('click', function() {
      var xhr = new XMLHttpRequest();

      xhr.open('POST', '/xhr');
      xhr.onreadystatechange = function() {
        if (xhr.readyState === 4 && xhr.status === 200) {
          alert(xhr.responseText);
          setTimeout(function() {
            xhr = xhr.onreadystatechange = null;
          }, 4);
        }
      };
      xhr.send(null);
    }, false);
  }, false);
</script>

これでPOSTを試していたらしい。