Native Request

v1.1 has been released
Native Request is a simple module that makes you create native node.js requests supports https.
- supports HTTPS
- 0 dependencies
- use callbacks
Table of Contents
Installation
Usage
Planned features
Installation
Install the dependencies and devDependencies and start the server.
npm install native-request
Usage
JSON request (recommended)
- request.request(options, callback)
Easy
let request = require('native-request');
request.request({
url: "http://github.com/",
method: 'POST',
}, function(err, data, status, headers) {
console.log(status); //200
console.log(data); // page content
console.log(headers); // response headers
});
Full
let request = require('native-request');
request.request({
url: "http://github.com/",
method: 'POST',
Cookies: { john: "doe", human: true },
headers: {
authorization: "Token121"
},
requestOptions: {
followRedirect: false,
maxRedirect: 1,
trustRedirect: false
}
}, function(err, data, status, headers) {
console.log(status); //200
console.log(data); // page content
console.log(headers); // response headers
});
Parameters
| Options |
Required |
Type |
Parameters |
Default |
| url |
✓ |
String |
Target url |
|
| method |
✓ |
String |
HTTP method to use. More info here |
|
| Headers |
|
JSON Object |
Pass headers to the request with a JSON format. |
{"content-type": "application/json"} |
| Cookies |
|
JSON Object |
Pass cookies to the request with a JSON format |
|
| requestOptions |
|
See below |
|
|
RequestOptions
The parameters below are here for client configuration. None of these parameters will be sent.
These parameters must be put in the object 'requestOptions'
| Options |
Required |
Type |
Parameters |
Default |
| followRedirect |
|
boolean |
Decide if we should follow the redirects |
true |
| maxRedirect |
|
int |
Decide the maximum number of redirects allowed |
3 |
| trustRedirect |
|
boolean |
If false, headers will not be sent when a redirect happen |
true |
GET request
- request.get(path, headers, callback)
- request.get(path, callback)
let request = require('native-request');
request.get('https://github.com', function(err, data, status, headers) {
if (err) {
throw err;
}
console.log(status); //200
console.log(data); // page content
console.log(headers); // response headers
});
To add custom headers just do like this:
let request = require('native-request');
let headers = {
"content-type": "plain/text"
}
request.get('https://github.com', headers, function(err, data, status, headers) {
if (err) {
throw err;
}
console.log(status); //200
console.log(data); // page content
console.log(headers); // response headers
});
POST request
- request.post(path, callback)
- request.post(path, data, callback)
- request.post(path, data, headers, callback)
To send an empty post:
let request = require('native-request');
request.post('https://github.com', function(err, data, status, headers) {
if (err) {
throw err;
}
console.log(status); //200
console.log(data); // page content
console.log(headers); // response headers
});
With headers and data:
let request = require('native-request');
let data = {
"example": true,
}
let headers = {
"content-type": "plain/text"
}
request.post('https://github.com', data, headers, function(err, data, status, headers) {
if (err) {
throw err;
}
console.log(status); //200
console.log(data); // page content
console.log(headers); // response headers
});
License
MIT. Copyright (c) Samuel Marchese.