poorequest

0.0.11 • Public • Published

poorequest

  • NPM version
  • Build Status
  • NPM Stats
  • NPM Downloads

this is a node js http/https wrapper. in order to run under node@0.6 , which is the highest node version on iPhone.

it only support basic usage ,GET/POST/MULTIPART

install

npm install poorequest

usage


    var Request=require('poorequest');
    var request=new Request();

    var callback = function(err, result){
        // err identify it succ or fail
        // if !err, result will be an object
        // result contain fiedls:
        //   herders, herders return from server,
        //   status / statusCode, statusCode return from server,
        //   body, data return from server, 
        //         you can call toString | toJson | toBuffer on body to convert it to the format you want.
        //   raw,  this is equal to body.toBuffer()
    }
    request.get|post|multi(url,option,callback);


get


    // simple get, no option is needed.
    var url='http://www.baidu.com';
    request.get(url,function(err,result){
        assert(result.body.toString().indexOf('<!--STATUS OK-->') > 0)
        // if data is simple string: call result.body.toString(), eg. most html data 
        // if response is in json format: call result.body.toJson(), eg. most ajax data 
        // if response is in binary format: call result.body.toBuffer(), eg. image data
    });

post


    //post with payload 't=12345'
    var url='http://www.wwei.cn/Qrcode/create.html';
    request.post(url,{form:{
        "t":"12345"
    }},function(err,result){
        assert(result.body.toString().indexOf('img') > 0)
        assert(Object.keys(result.body.toJson()).length == 2)
    });


    //if want to upload paylod in json format like '{"t":"12345"}', add type:json field
    request.post(url,{
        form:{"t":"12345"},
        type:'json'
    },function(err,result){
        //
    });


multipart post

    var multiForm = [];

    var fd1 = {
        name:'id',
        value:'id-value'
    };

    var fd2 = {
        name:'img',
        value:'img-value'
    };

    var fd3 = {
        name:'imgfile',
        value:'imgfile-value',
        filename:path.join(__dirname,"multifile.png") 
    };

    // add a text field
    //----------------------------06090260189957917
    //Content-Disposition: form-data; name="id"
    //
    //id-value
    multiForm.push(fd1);

    // add a text field , same as above
    multiForm.push(fd2);


    // add a file field
    //----------------------------06090260189957917
    //Content-Disposition: form-data; name="imgfile"; filename="multifile.png"
    //Content-Type: image/png
    //
    //imgfile-value
    //
    //...binary from file...
    multiForm.push(fd3);
    

    request.multi(url,{fields:multiForm},function(err,result){
      	// result.body.toString() ......
      	// result.statusCode ......
    });

Package Sidebar

Install

npm i poorequest

Weekly Downloads

4

Version

0.0.11

License

MIT

Last publish

Collaborators

  • yizhiren