co-request

1.0.0 • Public • Published

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:

"use strict";
 
let co = require("co");
let request = require("co-request");
 
co(function* () {
  // You can also pass options object, see http://github.com/mikeal/request docs
    let result = yield request("http://google.com"); 
    let response = result;
    let body = result.body;
 
    console.log("Response: ", response);
    console.log("Body: ", body);
}).catch(function (err) {
    console.err(err);
});

POST example:

"use strict";
 
co(function* () {
    let 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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.0
    4,612
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.0
    4,612
  • 0.2.1
    2,136
  • 0.2.0
    2
  • 0.1.2
    1
  • 0.1.1
    1
  • 0.1.0
    1

Package Sidebar

Install

npm i co-request

Weekly Downloads

6,753

Version

1.0.0

License

none

Last publish

Collaborators

  • denys
  • leukhin