example.js 940 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. var http = require('http');
  2. var co = require('co');
  3. var read = require('./');
  4. co(function*() {
  5. var server = http.createServer(function(req, res) {
  6. res.write(' foo');
  7. res.end(' bar');
  8. });
  9. server.listen(8744);
  10. console.log('');
  11. console.log('streams2 stream');
  12. console.log('');
  13. var res = yield request('http://localhost:8744/');
  14. var buf;
  15. while(buf = yield read(res)) {
  16. console.log(buf.toString());
  17. }
  18. console.log('');
  19. console.log('streams1 stream');
  20. console.log('');
  21. var res = yield request('http://localhost:8744/');
  22. res.pause(); // force streams1 stream
  23. var buf;
  24. while(buf = yield read(res)) {
  25. console.log(buf.toString());
  26. }
  27. console.log('');
  28. server.close();
  29. });
  30. function request(url) {
  31. return function(done) {
  32. var req = http.get(url)
  33. req.on('response', function(res) {
  34. done(null, res);
  35. });
  36. req.on('error', function(err) {
  37. done(err);
  38. });
  39. }
  40. }