npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

co-respond

0.1.0

@juliangruber

npmHomeRepoSnykSocket
Downloads:127
$ npm install co-respond
DailyWeeklyMonthlyYearly

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