Simple wrapper to the request library for co-like interface (node.js generator based code). You can use it with koa or co
To install simply run:
npm install co-request
Require co first, also it will work on node v0.11.7 and newest only.
You must run node with --harmony flag (--harmony-generators as well)
node --harmony simple.js
Simple example:
var co = require('co')
, request = require('co-request');
co(function* () {
// You can also pass options object, see http://github.com/mikeal/request docs
var result = yield request('http://google.com');
var response = result;
var body = result.body;
console.log('Response: ', response);
console.log('Body: ', body);
})();
POST example:
co(function* () {
var result = yield request({
uri: 'http://google.com',
method: 'POST'
});
})();
To pipe request you should use small helper (thanks to greim):
function pipeRequest(readable, requestThunk){
return function(cb){
readable.pipe(requestThunk(cb));
}
}
//..and then:
var value = yield pipeRequest(this.req, request({...}));
All methods of request listed in Request docs
##Gratitude##
Thanks for Tj's Co library
Thanks for Mikeal's Request library