0.1.0 • Published 10 years ago

co-respond v0.1.0

Weekly downloads
2
License
MIT
Repository
github
Last release
10 years ago

co-respond

Respond to http requests with co streams.

build status

Example

Respond with a stream that yields a string three times.

var http = require('http');
var co = require('co');
var respond = require('co-respond');
var wait = require('co-wait');

var server = http.createServer(function(req, res){
  co(function*(){
    try {
      yield respond(res, thrice('  hi!\n'));
    } catch (err) {
      res.statusCode = 500;
      res.end('  ' + err.message + '\n');
    }
  })();
});

function thrice(str){
  var i = 0;
  return function*(end){
    if (end || i++ > 2) return;
    yield wait(1000);
    return str;
  }
}

server.listen(8007);
console.log('curl http://localhost:8007/');

Installation

$ npm install co-respond

API

yield respond(res, stream)

Pipes the co stream stream into res and yields when done.

Throws if stream or res emit an error.

License

MIT

0.1.0

10 years ago

0.0.0

11 years ago