diff --git a/package-lock.json b/package-lock.json index 918f5e4..63aba7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "aws-kms-ee", - "version": "1.0.3", + "version": "1.0.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "aws-kms-ee", - "version": "1.0.1", + "version": "1.0.4", "license": "MIT", "dependencies": { "crypto-js": "^4.2.0" diff --git a/package.json b/package.json index c91ebc8..1392fb7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aws-kms-ee", - "version": "1.0.3", + "version": "1.0.4", "description": "AWS KMS Envelope Encryption", "main": "./lib/index.js", "files": [ diff --git a/src/connector.js b/src/connector.js index 4eedea7..6567c65 100644 --- a/src/connector.js +++ b/src/connector.js @@ -1,6 +1,7 @@ /* eslint import/no-extraneous-dependencies: ["error", {"devDependencies": true}] */ import Promise from 'bluebird'; import memoryCache from 'memory-cache'; +import { Agent } from 'https'; import { DecryptCommand, EncryptCommand, GenerateDataKeyCommand, KMSClient } from '@aws-sdk/client-kms'; import { NodeHttpHandler } from '@smithy/node-http-handler'; import { getClientLogger } from './utils'; @@ -14,6 +15,7 @@ class Connector { timeout = Number(process.env.KMS_TIMEOUT || process.env.TIMEOUT || 1000), connectTimeout = Number(process.env.KMS_CONNECT_TIMEOUT || process.env.CONNECT_TIMEOUT || 1000), maxAge = Number(process.env.DATA_KEY_MAX_AGE) || undefined, // default to life of lambda function + maxSockets = Number(process.env.MAX_SOCKETS) || 50, ) { this.maxAge = maxAge; this.masterKeyAlias = masterKeyAlias; @@ -21,6 +23,9 @@ class Connector { requestHandler: new NodeHttpHandler({ requestTimeout: timeout, connectionTimeout: connectTimeout, + httpsAgent: new Agent({ + maxSockets, + }), }), logger: getClientLogger(), region,