Skip to content

aliyarizadeh/ebcom-custom-request

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@ebcom/custom-request is customized module for make http1.1 and http2, xml, http request from node js

this module use 3 module:

  • GOT version: 11
  • REQUEST PROMISE NATIVE version: 1.0.8

custom-request suport all methods for make http request

  ---- GET, POST, PUT, PATCH, DELETE, HED ----

Examples for make request with GOT agent and options you can use with got agent:

const cr = require('@ebcom/custom-request');
const options = {
      url: 'http://url.com',
      mehtod: 'POST',
      json: true,
      headers: {
            'Content-Type' : 'Application/json',
      },
      auth: {

      },
      query: {
            size: 10
      },
      timeout: 60 * 1000,
      retry: {},
      hooks: {},
      https: {},
      encoding: 'utf8',
      responseType: 'json',
      bodyOnly: true,
      throwErrors: false,
      context: {},
      body: {
            username: 'Ali'
      },
      form:{
            username: 'Ali',
      }
};

const http2 = false;
const agent = 'GOT'; // UpperCase or LowerCase

const response = await cr(options, http2, agent);

url: String path request.

method: Support all http method (GET, POST, PUT, PATCH, DELETE, HEAD). type string

headers: You cat set headers with this felid. type object

auth: Can pass Basic authorization and bearer authorization

auth: {
  user: 'username',
  pass: 'password',
}

or

auth:{
  username: 'username'
  password: 'password'
}

or

auth: {
  bearer: 'bearer token'
}

auth: {
  bearer: 'token'
}

query: You can set querystring with this felid. type object

timeout: Set timeout default is one minute. type number

throwErrors: (Boolean type) Throw HTTP errors, default is false

bodyOnly if you want get only the body should be this option true, default is false

encoding: You can set encoding type, default is 'utf8'.

responseType: You can set response type with 'json' or 'text', default is 'json'.

context: type object.

body: Set request body, type object.

form: Set request form. if set, the content-type header defaults to application/x-www-form-urlencoded.


Examples for make request with REQUEST agent:

const cr = require('custom-request');
const options = {
      url: 'http://url.com',
      mehtod: 'POST', // Can call function methos (GET, POST, PUT,...) or set in request options
      headers: {
            'Content-Type' : 'Application/json',
      },
      query: {
            size: 10
      },
      timeout: 60 * 1000,
      retry: {},
      hooks: {},
      https: {},
      encoding: 'utf8',
      responseType: 'json',
      resolveBodyOnly: true,
      context: {},
      body: {
            username: 'Ali'
      },
};

const agent = 'REQUEST'; // UpperCase or LowerCase

const response = await cr(options, http2, agent);

notice: You can't use http2 with REQUEST agent.


Use defaults method:

default method can set default some params like timeout, proxy and other...

Example:

const customRequest = require('custom-request');
const req = customRequest.default({agent: 'REQUEST', timeout: 3 * 1000, proxy: 'YOUR PROXY URL....'})
  • agent: You can initial object with default agent {'REQUEST', 'GOT'}. if you don't choose agent by default is 'GOT'

About

@ebcom/custom-request is customized module for make http1.1 and http2, xml, http request from node js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published