@condor-labs/axios
TypeScript icon, indicating that this package has built-in type declarations

1.2.3 • Public • Published

@condor-labs/axios

Wrapper around axios using keepalive

See official documentation here.

Compatibility

The minimum supported version of Node.js is v8+.

How to use it

To use the library you just need to follow the following steps Install the library with npm

npm install @condor-labs/axios

Import the library:

const axios = require("@condor-labs/axios");

async function getUser() {
  try {
    const response = await axios.get("/user?ID=12345");
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

Environment Variables

Property Type Default Description
AXIOS_KEEP_ALIVE_DISABLED Boolean FALSE When true, keepalive is enabled for http and https agents in axios.
AXIOS_KEEP_ALIVE_MSECS Number 1000 When using the keepAlive option, specifies the initial delay for TCP Keep-Alive packets. Ignored when the keepAlive option is false or undefined.
AXIOS_MAX_SOCKETS Number Infinity Maximum number of sockets to allow per host. If the same host opens multiple concurrent connections, each request will use new socket until the maxSockets value is reached. If the host attempts to open more connections than maxSockets, the additional requests will enter into a pending request queue, and will enter active connection state when an existing connection terminates. This makes sure there are at most maxSockets active connections at any point in time, from a given host.
AXIOS_MAX_TOTAL_SOCKETS Number Infinity Maximum number of sockets allowed for all hosts in total. Each request will use a new socket until the maximum is reached. This option is only available for NODEJS v12.19.0, v14.5.0.
AXIOS_MAX_FREE_SOCKETS Number 256 Maximum number of sockets per host to leave open in a free state. Only relevant if keepAlive is set to true.
AXIOS_SOCKETS_SCHEDULING String 'lifo' Scheduling strategy to apply when picking the next free socket to use. It can be 'fifo' or 'lifo'. The main difference between the two scheduling strategies is that 'lifo' selects the most recently used socket, while 'fifo' selects the least recently used socket. In case of a low rate of request per second, the 'lifo' scheduling will lower the risk of picking a socket that might have been closed by the server due to inactivity. In case of a high rate of request per second, the 'fifo' scheduling will maximize the number of open sockets, while the 'lifo' scheduling will keep it as low as possible. This option is only available for NODEJS v12.20.0, v14.5.0.
AXIOS_SOCKETS_TIMEOUT Number 4000 (4 secs) Socket timeout in milliseconds. This will set the timeout when the socket is created.

Reference.

How to Publish

Increasing package version

You will need to update the package.json file placed in the root folder.

identify the property version and increase the right number in plus one.

Login in NPM by console.

 npm login
 [Enter username]
 [Enter password]
 [Enter email]

If all is ok the console will show you something like this : Logged in as USERNAME on https://registry.npmjs.org/.

Uploading a new version

 npm publish --access public

Ref: https://docs.npmjs.com/getting-started/publishing-npm-packages

Note: you will need to have a NPM account, if you don't have one create one here: https://www.npmjs.com/signup

Contributors

The original author and current lead maintainer of this module is the @condor-labs development team.

More about Condorlabs Here.

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i @condor-labs/axios

Weekly Downloads

1,164

Version

1.2.3

License

MIT

Unpacked Size

9.44 kB

Total Files

7

Last publish

Collaborators

  • daniel.castillo
  • kevin.pedroza_condorlabs.io
  • federico-garcia
  • jorgesanes
  • hjimenez-condorlabs
  • awilches
  • jorgelozano95