Skip to content
forked from idx3d/co-request

Simple wrapper to the request library for co-like interface (node.js generator based code). Usable with koa

License

Notifications You must be signed in to change notification settings

JaHIY/co-request

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

co-request

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

About

Simple wrapper to the request library for co-like interface (node.js generator based code). Usable with koa

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%