test-follow-all-303.js 791 B

123456789101112131415161718192021222324252627282930
  1. var request = require('../index');
  2. var http = require('http');
  3. var requests = 0;
  4. var assert = require('assert');
  5. var server = http.createServer(function (req, res) {
  6. console.error(req.method, req.url);
  7. requests ++;
  8. if (req.method === 'POST') {
  9. console.error('send 303');
  10. res.setHeader('location', req.url);
  11. res.statusCode = 303;
  12. res.end('try again, i guess\n');
  13. } else {
  14. console.error('send 200')
  15. res.end('ok: ' + requests);
  16. }
  17. });
  18. server.listen(6767);
  19. request.post({ url: 'http://localhost:6767/foo',
  20. followAllRedirects: true,
  21. form: { foo: 'bar' } }, function (er, req, body) {
  22. if (er) throw er;
  23. assert.equal(body, 'ok: 2');
  24. assert.equal(requests, 2);
  25. console.error('ok - ' + process.version);
  26. server.close();
  27. });