Wrapper for got with proxy env variables management
npm install @mgdis/gol-got> Convenience wrapper for got with automatic consideration of proxy env variables.
```
$ npm install gol-got
Instead of:
`js
// Exemple based on https://github.com/sindresorhus/got#proxies
const got = require('got');
const tunnel = require('tunnel');
/ Proxy env variables /
process.env.NO_PROXY = 'https://noproxy.com'
process.env.HTTPS_PROXY = 'https://proxy.mgdis.fr'
/ Indigestible code part to create the method for tunneling/
const method = ...; //httpOverHttp or httpsOverHttp or httpOverHttps or httpsOverHttps
let agent;
switch (method) {
case 'httpOverHttp':
agent = tunnel.httpOverHttp({
proxy: {
host: 'proxy.mgdis.fr'
});
break:
...
}
/ ------------------------------------------------------- /
const response = await got('https://www/mgdis.fr/resource/1', { agent });
`
You can do:
`js
const golGot = require('gol-got');
/ Proxy env variables/
process.env.NO_PROXY = 'https://noproxy.com'
process.env.HTTPS_PROXY = 'https://proxy.mgdis.fr'
// Prepare a Got instance
const got = golGot('https://www/mgdis.fr/resource/1');
// Use Got as usual
const response = await got('https://www/mgdis.fr/resource/1');
`
actually does not manage proxy environment variables : see this issue. in many projets that have to manage proxy environment variables, you probably don't want to write the same code routine all the time.Same as got.
- The tunnel agent used is tunnel-agent included in the popular request http calls library.
- proxy-from-env` is used to get the proxy URL for the given URL based on standard proxies environment variables.
MIT © MGDIS