Package Exports
- poorequest
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (poorequest) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
poorequest
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 ......
});


