1.1.2 • Published 10 years ago
fd-http-request v1.1.2
Node.js module for POST / GET http requests
Installation
npm install fd-http-request --saveUsage Example | method GET (VK.com API)
var httpRequest = require('fd-http-request');
// Get request
httpRequest.get('https://api.vk.com/method/users.get', function(res){
console.log( res );
/* RESPONSE:
{
status: 200,
data: '{"response":[{"uid":205387401,"first_name":"Tom","last_name":"Cruise","city":5331,"photo_50":"http:\/\/cs402330.vk.me\/v402330401\/9760\/pV6sZ5wRGxE.jpg","verified":0}]}',
headers: {
server: 'Apache',
date: 'Sat, 12 Sep 2015 02:13:31 GMT',
'content-type': 'application/json; charset=utf-8',
'content-length': 169,
connection: 'close',
'x-powered-by': 'PHP/3.17046',
'set-cookie':[
'remixlang=0; expires=Sun, 18 Sep 2016 03:04:05 GMT; path=/; domain=.vk.com'
],
pragma: 'no-cache',
'cache-control': 'no-store'
},
cookies: [
{
remixlang: 0,
expires: 'Sun, 18 Sep 2016 03:04:05 GMT',
path: '/',
domain: '.vk.com'
}
],
parsedCookies: {
remixlang: 0
},
charset: 'utf-8'
}
*/
}, {
charset: 'utf-8',
protocol: 'https',
data: {
user_ids: 205387401,
fields: 'photo_50,city,verified',
version: 5.37
}
});Usage Example | Request class (VK.com API)
var Request = require('fd-http-request').Request;
var request = new Request({
saveCookies: true,
headers: {
'x-message': 'hi, mom!'
}
});
request.get('https://api.vk.com/method/users.get', function( res ) {
console.log( res );
/* RESPONSE:
{
status: 200,
...
}
*/
console.log( request.cookie() );
/* SAVED COOKIES:
{
remixlang: '0',
...
domain: '.vk.com'
}
*/
console.log( request.header({
'x-studio': 'FlatDev'
}) );
/* PERMANENT HEADERS:
{
'x-message': 'hi, mom!',
'x-studio': 'FlatDev'
}
*/
console.log( request.header({
'x-message': 'hi, son!'
}) );
/* PERMANENT HEADERS:
{
'x-message': 'hi, son!',
'x-studio': 'FlatDev'
}
*/
console.log( request.clearHeader('x-message') );
/* PERMANENT HEADERS:
{
'x-studio': 'FlatDev'
}
*/
}, {
data: {
user_ids: 205387401,
fields: 'photo_50,city,verified',
version: 5.37
}
});Methods
get(url, callback, opts)
Makes a GET request
stringurl - the requested addresscallbackcallback - function(res) callback function after a requestobjectres - response from serverintegerstatus - response statusstringdata - response text from serverobjectheaders - response headersarraycookies - response cookiesobjectparsedCookies - parsed response cookies. Valid for the requeststringcharset - response charset
objectopts - request options optionalobjectdata - GET data. default:null. example:{user_ids: 205387401}objectheaders - request headers. default:null. example:{'User-Agent': 'Mozilla/5.0'}objectcookies - request cookies. default:null. example:{foo: 'bar'}stringcharset - response encoding. default:autodetect from the header. example:'cp1251'stringprotocol - request protocol . default:autodetect from the protocol.'http'or'https'
post(url, callback, opts)
Makes a POST request
stringurl - the requested addresscallbackcallback - function(res) callback function after a requestobjectres - response from serverintegerstatus - response statusstringdata - response text from serverobjectheaders - response headersobjectparsedCookies - parsed response cookies. Valid for the requestarraycookies - response cookiesstringcharset - response charset
objectopts - request options optionalobjectdata - POST data. default:null. example:{user_ids: 205387401}objectheaders - request headers. default:null. example:{'User-Agent': 'Mozilla/5.0'}objectcookies - request cookies. default:null. example:{foo: 'bar'}stringcharset - response encoding. default:autodetect from the header. example:'cp1251'stringprotocol - request protocol . default:autodetect from the protocol.'http'or'https'
Classes
Request(opts)
objectopts - class optionsbooleansaveCookies - whether to save response cookies. default:trueobjectheaders - permanent headers. default:null. example:{'User-Agent': 'Mozilla/5.0'}
Request# get(url, callback, opts)
Full copy of the get method. If set opts.saveCookies merge and save opts.cookies and merge opts.headers, if they set.
Request# post(url, callback, opts)
Full copy of the post method. If set opts.saveCookies merge and save opts.cookies and merge opts.headers, if they set.
Request# header()
Returns current permanent headers
- return
object- permanent headers
Request# header( headers )
Updates permanent headers
objectheaders - add new or change current permanent headers. example:{'User-Agent': 'Mozilla/5.0'}- return
object- current permanent headers
Request# clearHeader()
Removes all permanent headers
- return
object- current permanent headers
Request# clearHeader( name )
Removes permanent header
stringname - the name of removed header. example:'User-Agent'- return
object- current permanent headers
Request# cookie()
Returns saved cookies
- return
object- saved cookies
Request# cookie( cookies )
Updates saved cookies
objectcookies - add new or change saved cookies. example:{foo: 'bar'}- return
object- current saved cookies
Request# cookie( cookies, convert )
Make valid input cookies and updates saved cookies
objectcookies - add new or change saved cookies. example:{foo: 'bar'}booleanconvert - whether to convert cookies. if cookies look like[{foo: 'bar'}, {doo: 'gar'}]set it tofalse, if look like{foo: 'bar', doo: 'gar'}set it totrue. default:true- return
object- current saved cookies
Request# clearCookie()
Removes all saved cookies
- return
object- current saved cookies
Request# clearCookie( name )
Removes saved cookie
stringname - the name of removed cookie. example:'foo'- return
object- current saved cookies
Changelog
1.1.2 Unstable
Change- fixed stylistic errors that could lead to errorsBugfix- second argumentconvertRequest# cookie(). If it set, make valid first argument cookies for request style
1.1.1 Unstable
Add- second argumentconvertRequest# cookie(). If it set, make valid first argument cookies for request style
1.1.0 Unstable
Add- response parsed cookiesres.parsedCookiesto the callback. It is valid сookies for the request inopts.cookiesAdd- methodRequestreturns class Request(opts) . It intelligent class based onpostandgetmethods. It can set permanent headers, save response cookies, get current cookies and headers and more.
0.5.0 Stable
Add- dependence on the iconv-liteAdd- autodetect body charset from headercontent-typeand convert itAdd- response charset argumentres.charsetto the callbackChange- renameopts.encodetoopts.charset
0.4.0 Unstable
Add- dependence on the cookieAdd- custom cookieopts.cookiesChange- callback function. Now it called withobjectres argument
0.3.0 Unstable
Add- dependence on the object-mergeAdd- custom headersopts.headersChange- moved 2-nddataargument toopts.dataOther- make code less
0.2.0 Unstable
Add- autodetect protocolhttporhttpsChange- 4-th argument from thestringencode to theobjectopts