oh-request
v1.0.4
Published
A simple and lightweight module for native HTTP clients.
Downloads
3
Readme
oh-request
A simple and lightweight module for native HTTP clients.
This module supports the Promise
feature of ES6.
Usage
The usage is really simple. First, you must use npm to install the module.
npm install --save oh-request
Then, in your code:
var request = require('oh-request');
Params
request(options, body)
options
The options
parameter must be an object.
host
[string] A target for the client.(option, defalut value islocalhost
)path
[string] A target for the client.(option, defalut value is/
)port
[number] A port for the target.(option, defalut value is80
)timeout
[number] Set timeout for the request.(option, defalut value is15000
ms)method
[string] The request method, supportGET
andPOST
.(case insensitive)headers
[object] The request headers, such asContent-Type
,Accept
and so on.(option)expect
[boolean] Set theExpect: 100-Continue
header, and don't send pay-load until the 100 head is received.(option)query
[object] Set theGET
params in URL.(option)
body
Must be an object that can be consumed by JSON.stringify
or casted to a string, or null
.
return
If response is ok, the return value which is an instance of http.IncomingMessage. By the way, the data property of return value is the json data from remote server.
sample
var request = require('oh-request');
request({
host: 'google.com',
method: 'GET',
path: '/search',
query: {
q: 'nodejs'
},
headers: {
'x-foo-bar' : "Hello World"
},
timeout: 3000
})
.then(function(res) {
console.log(res.headers); // the property of http.IncomingMessage
return Promise.resolve('Bingo');
}, function(err) {
console.log(err);
return Promise.reject('Oh no!');
})
.then(function(res) {
console.log(res.data); // the json data from remote server
}, function(err) {
console.log(err);
});
Contact
oh-request is available on github here under MIT license. If you hit bugs, fill issues on github. Feel free to fork, modify and have fun with it :)