latest version of proxy-agent does not work with aws-sdk
renperez-cpi opened this issue · 3 comments
seems like any version of proxy-agent except 5.0.0 is the only one working with aws-sdk. unfortunately 5.0.0 has critical vulnerability because of vm2 dependency. can we fix the latest version to be compatible with aws-sdk. @TooTallNate please advice. thank you
/app/config/aws-config.js:12
agent: proxy(process.env.HTTP_PROXY)
TypeError: proxy is not a function
at Object. (/app/config/aws-config.js:12:14)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Module.require (node:internal/modules/cjs/loader:1143:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object. (/app/config/index.js:11:19)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
Node.js v18.16.1
Could you share your code?
You are probably not importing proxy-agent
module correctly. The API changed between v5 and v6:
// v5
import ProxyAgent from 'proxy-agent';
vs.
// v6
import { ProxyAgent } from 'proxy-agent';
'use strict'
/* eslint-disable no-process-env */
const AWS = require('aws-sdk')
const clonedeep = require('lodash/cloneDeep')
const merge = require('lodash/merge')
const proxy = require('proxy-agent')
if (process.env.HTTP_PROXY !== '') {
AWS.config.update({
httpOptions: {
agent: proxy(process.env.HTTP_PROXY)
}
})
}
@TooTallNate i fixed it by using this instead. thank you
const ProxyAgent = require('proxy-agent');
const proxy = process.env.HTTP_PROXY;
if (proxy) {
const proxyAgent = new ProxyAgent(proxy);
AWS.config.update({
httpOptions: {
agent: proxyAgent,
},
});
}