native-request

1.1.0 • Public • Published

Native Request

npm version npm

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

Planned features

  • 1.2.0: Proxy management

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.

Package Sidebar

Install

npm i native-request

Weekly Downloads

623,917

Version

1.1.0

License

MIT

Unpacked Size

30.6 kB

Total Files

13

Last publish

Collaborators

  • zaral