api-request-builder

Simple request builder on top of Axios that allows pre-configured options, query params parser and errors to text with a Lang option

Usage no npm install needed!

<script type="module">
  import apiRequestBuilder from 'https://cdn.skypack.dev/api-request-builder';
</script>

README

API Request Builder

Simple request builder on top of Axios that allows pre-configured options, query params parser and errors to text with a Lang option

Todo list

  • ⏳ Full docs
  • ⏳ Tests and examples
  • ⏳ Cancel/Abort request

Installation

You can install using npm:

npm install api-request-builder

Usage

// Load the module
const apiRequestBuilder = require('api-request-builder')

// Default params for all requests
const DEFAULT_PARAMS = {
  server: "/api",   // Self domain requests to '/api' path
  timeout: 5000     // 5s timeout
}

// Initialize
const api = apiRequestBuilder( DEFAULT_PARMS )

/**
 * Your code ♥
 */

Params

This library allows you to set a default set of params for all the request.

Config params

Param Type Default Description
validMethods Array <String> ["GET","POST","PUT","DELETE"] Allowed HTTP Methods
lang Object LANG Lang configuration
tokenAsParam Boolean false Append token (if exist) in the query params
translateErrors Boolean true Parse request errors objects and return strings based in the lang param

Request params

Param Type Default Description
server String "http://localhost" API Server
endpoint String Request Enpoint path (relative to server)
path String Request URI path (relative to server/endpoint)
vars Object {} URI path variables values
params Object {} Query params
mime String "application/json" Request Content-Type header
headers Object {} Request headers
token String Request Auth token
timeout Number 50000 Request timeout in miliseconds