@axa/native-proxy-agent
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Native Proxy Agent

CI

A native proxy agent that uses the native nodejs http.Agent and https.Agent to proxy the requests.

All agents allow http or https proxy but you have to select over the agent depending on your target url.

How to install

  npm install @axa/native-proxy-agent

Usage

const { createAgent } = require('@axa/native-proxy-agent');
const got = require('got');

got('http://requestUrl.com/service/1', {
  agent: createAgent('http://requestUrl.com/service/1')
});
  • You can also directly create an httpsAgent or an httpAgent
const { createHttpAgent } = require('@axa/native-proxy-agent');
const got = require('got');

got('http://requestUrl.com/service/1', {
  agent: {
    http: createHttpAgent()
  }
});
const { createHttpsAgent } = require('@axa/native-proxy-agent');
const got = require('got');

got('http://requestUrl.com/service/1', {
  agent: {
    https: createHttpsAgent()
  }
});
  • createForeverAgent will add to a singleton, agents with the same configuration to allow an easy reuse of the agents. Also this method will set the option keepAlive to true by default.
const { createForeverAgent } = require('@axa/native-proxy-agent');
const got = require('got');

got('http://requestUrl.com/service/1', {
  agent: {
    https: createForeverAgent('http://requestUrl.com/service/1')
  }
});

// Target with same protocol and agent options will share same agent
got('http://requestUrl.com/another-service', {
  agent: {
    http: createForeverAgent('http://requestUrl.com/another-service')
  }
});
  • If the protocol of the requests is always the same, you can create a target https or http Agent.
    • createHttpForeverAgent
    • createHttpsForeverAgent

Environment variables

@axa/native-proxy-agent will pick the proxy configuration from the environment if the options are not provided at the creation of the agent. It will also pick environment variables for making unproxied (no_proxy and NO_PROXY) requests.

The environment variables used for this purpose are:

  • Setting the proxy: http_proxy, https_proxy, HTTP_PROXY, and HTTPS_PROXY.
  • Proxy exemptions: no_proxy and NO_PROXY.

The preference of variable is the order in which they are written in this readme.

Contributing

You can read the guide of how to contribute at Contributing.

Code of Conduct

You can read the Code of Conduct at Code of Conduct.

Legal Notice

Copyright (c) AXA Group. All rights reserved. Licensed under the (MIT / Apache 2.0) License.

Third party dependencies licenses

Production

Development

Package Sidebar

Install

npm i @axa/native-proxy-agent

Weekly Downloads

26

Version

1.0.0

License

SEE LICENSE IN LICENSE.txt

Unpacked Size

52.3 kB

Total Files

31

Last publish

Collaborators

  • francisco.herrero
  • carlos-navarro
  • fran-herrero
  • philippethongaxa
  • rrafols
  • sholesch