@cdklabs/cdk-ecs-codedeploy 0.0.431 → 0.0.433
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +3 -3
- package/.jsii.tabl.json +1 -1
- package/lib/api-canary/index.js +1 -1
- package/lib/ecs-appspec/index.js +1 -1
- package/lib/ecs-deployment/index.js +1 -1
- package/lib/ecs-patterns/application-load-balanced-codedeployed-fargate-service.js +1 -1
- package/node_modules/@aws/lambda-invoke-store/dist-cjs/invoke-store.js +2 -2
- package/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js +2 -2
- package/node_modules/@aws/lambda-invoke-store/dist-types/invoke-store.d.ts +1 -1
- package/node_modules/@aws/lambda-invoke-store/package.json +1 -1
- package/node_modules/@aws-sdk/client-codedeploy/README.md +26 -46
- package/node_modules/@aws-sdk/client-codedeploy/package.json +39 -39
- package/node_modules/@aws-sdk/core/dist-cjs/index.js +11 -15
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +11 -15
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +2 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js +2 -8
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsEc2QueryProtocol.js +3 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js +5 -7
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts +2 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/AwsEc2QueryProtocol.d.ts +4 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/QuerySerializerSettings.d.ts +3 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/index.d.ts +2 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/query/AwsEc2QueryProtocol.d.ts +1 -0
- package/node_modules/@aws-sdk/core/package.json +14 -14
- package/node_modules/@aws-sdk/credential-provider-env/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-http/package.json +11 -11
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +15 -15
- package/node_modules/@aws-sdk/credential-provider-login/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-node/package.json +13 -13
- package/node_modules/@aws-sdk/credential-provider-process/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +8 -8
- package/node_modules/@aws-sdk/middleware-host-header/package.json +5 -5
- package/node_modules/@aws-sdk/middleware-logger/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +5 -5
- package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +9 -9
- package/node_modules/@aws-sdk/middleware-user-agent/dist-es/check-features.js +9 -9
- package/node_modules/@aws-sdk/middleware-user-agent/dist-types/check-features.d.ts +4 -2
- package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/check-features.d.ts +3 -3
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +9 -8
- package/node_modules/@aws-sdk/nested-clients/package.json +39 -37
- package/node_modules/@aws-sdk/region-config-resolver/package.json +6 -6
- package/node_modules/@aws-sdk/token-providers/package.json +8 -8
- package/node_modules/@aws-sdk/types/package.json +3 -3
- package/node_modules/@aws-sdk/util-endpoints/package.json +6 -6
- package/node_modules/@aws-sdk/util-locate-window/package.json +2 -2
- package/node_modules/@aws-sdk/util-user-agent-browser/package.json +4 -4
- package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +87 -14
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getNodeModulesParentDirs.js +15 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getSanitizedDevTypeScriptVersion.js +14 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getSanitizedTypeScriptVersion.js +9 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptUserAgentPair.js +59 -8
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getNodeModulesParentDirs.d.ts +10 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getSanitizedDevTypeScriptVersion.d.ts +8 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getSanitizedTypeScriptVersion.d.ts +8 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getNodeModulesParentDirs.d.ts +1 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getSanitizedDevTypeScriptVersion.d.ts +3 -0
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getSanitizedTypeScriptVersion.d.ts +3 -0
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +7 -6
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +1 -0
- package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +1 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/CHANGELOG.md +23 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.d.cts +15 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/package.json +3 -2
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.d.ts +16 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/util.js +1 -26
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +87 -87
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +10 -10
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +23 -23
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +29 -29
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +39 -39
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +17 -17
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XMLParser.js +22 -22
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +85 -85
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/validator.js +34 -34
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +5 -284
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +1 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +2 -0
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +27 -5
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +21 -21
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/node2json.js +38 -34
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +10 -10
- package/node_modules/@aws-sdk/xml-builder/package.json +4 -4
- package/node_modules/@smithy/abort-controller/package.json +3 -3
- package/node_modules/@smithy/config-resolver/package.json +7 -7
- package/node_modules/@smithy/core/dist-cjs/index.js +1 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +9 -9
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +22 -0
- package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +1 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +11 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +42 -5
- package/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +1 -2
- package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +2 -8
- package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +7 -1
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +1 -0
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js +17 -0
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +10 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +3 -2
- package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js +31 -2
- package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js +5 -1
- package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.d.ts +1 -0
- package/node_modules/@smithy/core/dist-types/submodules/endpoints/toEndpointV1.d.ts +6 -0
- package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/NormalizedSchema.d.ts +11 -0
- package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/translateTraits.d.ts +6 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/index.d.ts +1 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/endpoints/toEndpointV1.d.ts +6 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/NormalizedSchema.d.ts +11 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/translateTraits.d.ts +6 -0
- package/node_modules/@smithy/core/endpoints.d.ts +7 -0
- package/node_modules/@smithy/core/endpoints.js +6 -0
- package/node_modules/@smithy/core/package.json +21 -12
- package/node_modules/@smithy/credential-provider-imds/package.json +6 -6
- package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +21 -4
- package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +21 -4
- package/node_modules/@smithy/fetch-http-handler/package.json +7 -7
- package/node_modules/@smithy/hash-node/package.json +5 -5
- package/node_modules/@smithy/invalid-dependency/package.json +3 -3
- package/node_modules/@smithy/is-array-buffer/package.json +2 -2
- package/node_modules/@smithy/middleware-content-length/package.json +4 -4
- package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +17 -1
- package/node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js +9 -0
- package/node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js +8 -1
- package/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/toEndpointV1.d.ts +1 -0
- package/node_modules/@smithy/middleware-endpoint/dist-types/ts3.4/adaptors/toEndpointV1.d.ts +1 -0
- package/node_modules/@smithy/middleware-endpoint/package.json +9 -9
- package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +9 -12
- package/node_modules/@smithy/middleware-retry/dist-es/configurations.js +9 -12
- package/node_modules/@smithy/middleware-retry/package.json +10 -10
- package/node_modules/@smithy/middleware-serde/dist-cjs/index.js +3 -2
- package/node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js +3 -2
- package/node_modules/@smithy/middleware-serde/package.json +5 -4
- package/node_modules/@smithy/middleware-stack/package.json +3 -3
- package/node_modules/@smithy/node-config-provider/package.json +5 -5
- package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +68 -45
- package/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +19 -0
- package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +41 -35
- package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +4 -5
- package/node_modules/@smithy/node-http-handler/dist-es/readable.mock.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-es/server.mock.js +6 -6
- package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/readable.mock.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +10 -0
- package/node_modules/@smithy/node-http-handler/dist-types/get-transformed-headers.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +4 -4
- package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/readable.mock.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/server.mock.d.ts +3 -3
- package/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/readable.mock.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +10 -0
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +4 -4
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/readable.mock.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/server.mock.d.ts +3 -3
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/collector.d.ts +1 -1
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/readable.mock.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/package.json +6 -6
- package/node_modules/@smithy/property-provider/package.json +3 -3
- package/node_modules/@smithy/protocol-http/package.json +3 -3
- package/node_modules/@smithy/querystring-builder/package.json +4 -4
- package/node_modules/@smithy/querystring-parser/package.json +3 -3
- package/node_modules/@smithy/service-error-classification/package.json +3 -3
- package/node_modules/@smithy/shared-ini-file-loader/package.json +3 -3
- package/node_modules/@smithy/signature-v4/package.json +9 -9
- package/node_modules/@smithy/smithy-client/package.json +8 -8
- package/node_modules/@smithy/types/dist-types/http.d.ts +1 -0
- package/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +1 -0
- package/node_modules/@smithy/types/package.json +1 -1
- package/node_modules/@smithy/url-parser/package.json +4 -4
- package/node_modules/@smithy/util-base64/package.json +4 -4
- package/node_modules/@smithy/util-body-length-browser/package.json +2 -2
- package/node_modules/@smithy/util-body-length-node/package.json +2 -2
- package/node_modules/@smithy/util-buffer-from/package.json +3 -3
- package/node_modules/@smithy/util-config-provider/package.json +2 -2
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +5 -5
- package/node_modules/@smithy/util-defaults-mode-node/package.json +8 -8
- package/node_modules/@smithy/util-endpoints/package.json +4 -4
- package/node_modules/@smithy/util-hex-encoding/package.json +2 -2
- package/node_modules/@smithy/util-middleware/package.json +3 -3
- package/node_modules/@smithy/util-retry/package.json +4 -4
- package/node_modules/@smithy/util-stream/package.json +9 -9
- package/node_modules/@smithy/util-uri-escape/package.json +2 -2
- package/node_modules/@smithy/util-utf8/package.json +3 -3
- package/node_modules/@smithy/util-waiter/dist-cjs/index.js +1 -1
- package/node_modules/@smithy/util-waiter/dist-es/poller.js +1 -1
- package/node_modules/@smithy/util-waiter/package.json +4 -4
- package/node_modules/@smithy/uuid/package.json +2 -2
- package/node_modules/fast-xml-builder/CHANGELOG.md +16 -0
- package/node_modules/fast-xml-builder/LICENSE +21 -0
- package/node_modules/fast-xml-builder/README.md +23 -0
- package/node_modules/fast-xml-builder/lib/fxb.cjs +1 -0
- package/node_modules/fast-xml-builder/lib/fxb.d.cts +180 -0
- package/node_modules/fast-xml-builder/lib/fxb.min.js +2 -0
- package/node_modules/fast-xml-builder/lib/fxb.min.js.map +1 -0
- package/node_modules/fast-xml-builder/package.json +80 -0
- package/node_modules/fast-xml-builder/src/fxb.d.ts +180 -0
- package/node_modules/fast-xml-builder/src/fxb.js +529 -0
- package/node_modules/fast-xml-builder/src/ignoreAttributes.js +18 -0
- package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +292 -0
- package/node_modules/path-expression-matcher/LICENSE +21 -0
- package/node_modules/path-expression-matcher/README.md +635 -0
- package/node_modules/path-expression-matcher/lib/pem.cjs +1 -0
- package/node_modules/path-expression-matcher/lib/pem.d.cts +335 -0
- package/node_modules/path-expression-matcher/lib/pem.min.js +2 -0
- package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -0
- package/node_modules/path-expression-matcher/package.json +78 -0
- package/node_modules/path-expression-matcher/src/Expression.js +232 -0
- package/node_modules/path-expression-matcher/src/Matcher.js +414 -0
- package/node_modules/path-expression-matcher/src/index.d.ts +366 -0
- package/node_modules/path-expression-matcher/src/index.js +28 -0
- package/package.json +6 -6
- package/node_modules/@aws-sdk/util-user-agent-node/dist-es/getTypeScriptPackageJsonPath.js +0 -14
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/getTypeScriptPackageJsonPath.d.ts +0 -9
- package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/getTypeScriptPackageJsonPath.d.ts +0 -1
- package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js +0 -134
- /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder → fast-xml-builder/src}/prettifyJs2Xml.js +0 -0
|
@@ -187,20 +187,17 @@ const NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {
|
|
|
187
187
|
default: utilRetry.DEFAULT_MAX_ATTEMPTS,
|
|
188
188
|
};
|
|
189
189
|
const resolveRetryConfig = (input) => {
|
|
190
|
-
const { retryStrategy, retryMode
|
|
191
|
-
const maxAttempts = utilMiddleware.normalizeProvider(
|
|
190
|
+
const { retryStrategy, retryMode } = input;
|
|
191
|
+
const maxAttempts = utilMiddleware.normalizeProvider(input.maxAttempts ?? utilRetry.DEFAULT_MAX_ATTEMPTS);
|
|
192
|
+
let controller = retryStrategy
|
|
193
|
+
? Promise.resolve(retryStrategy)
|
|
194
|
+
: undefined;
|
|
195
|
+
const getDefault = async () => (await utilMiddleware.normalizeProvider(retryMode)()) === utilRetry.RETRY_MODES.ADAPTIVE
|
|
196
|
+
? new utilRetry.AdaptiveRetryStrategy(maxAttempts)
|
|
197
|
+
: new utilRetry.StandardRetryStrategy(maxAttempts);
|
|
192
198
|
return Object.assign(input, {
|
|
193
199
|
maxAttempts,
|
|
194
|
-
retryStrategy:
|
|
195
|
-
if (retryStrategy) {
|
|
196
|
-
return retryStrategy;
|
|
197
|
-
}
|
|
198
|
-
const retryMode = await utilMiddleware.normalizeProvider(_retryMode)();
|
|
199
|
-
if (retryMode === utilRetry.RETRY_MODES.ADAPTIVE) {
|
|
200
|
-
return new utilRetry.AdaptiveRetryStrategy(maxAttempts);
|
|
201
|
-
}
|
|
202
|
-
return new utilRetry.StandardRetryStrategy(maxAttempts);
|
|
203
|
-
},
|
|
200
|
+
retryStrategy: () => (controller ??= getDefault()),
|
|
204
201
|
});
|
|
205
202
|
};
|
|
206
203
|
const ENV_RETRY_MODE = "AWS_RETRY_MODE";
|
|
@@ -26,20 +26,17 @@ export const NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {
|
|
|
26
26
|
default: DEFAULT_MAX_ATTEMPTS,
|
|
27
27
|
};
|
|
28
28
|
export const resolveRetryConfig = (input) => {
|
|
29
|
-
const { retryStrategy, retryMode
|
|
30
|
-
const maxAttempts = normalizeProvider(
|
|
29
|
+
const { retryStrategy, retryMode } = input;
|
|
30
|
+
const maxAttempts = normalizeProvider(input.maxAttempts ?? DEFAULT_MAX_ATTEMPTS);
|
|
31
|
+
let controller = retryStrategy
|
|
32
|
+
? Promise.resolve(retryStrategy)
|
|
33
|
+
: undefined;
|
|
34
|
+
const getDefault = async () => (await normalizeProvider(retryMode)()) === RETRY_MODES.ADAPTIVE
|
|
35
|
+
? new AdaptiveRetryStrategy(maxAttempts)
|
|
36
|
+
: new StandardRetryStrategy(maxAttempts);
|
|
31
37
|
return Object.assign(input, {
|
|
32
38
|
maxAttempts,
|
|
33
|
-
retryStrategy:
|
|
34
|
-
if (retryStrategy) {
|
|
35
|
-
return retryStrategy;
|
|
36
|
-
}
|
|
37
|
-
const retryMode = await normalizeProvider(_retryMode)();
|
|
38
|
-
if (retryMode === RETRY_MODES.ADAPTIVE) {
|
|
39
|
-
return new AdaptiveRetryStrategy(maxAttempts);
|
|
40
|
-
}
|
|
41
|
-
return new StandardRetryStrategy(maxAttempts);
|
|
42
|
-
},
|
|
39
|
+
retryStrategy: () => (controller ??= getDefault()),
|
|
43
40
|
});
|
|
44
41
|
};
|
|
45
42
|
export const ENV_RETRY_MODE = "AWS_RETRY_MODE";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/middleware-retry",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.43",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
|
|
6
6
|
"build:cjs": "node ../../scripts/inline middleware-retry",
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
"license": "Apache-2.0",
|
|
35
35
|
"sideEffects": false,
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@smithy/node-config-provider": "^4.3.
|
|
38
|
-
"@smithy/protocol-http": "^5.3.
|
|
39
|
-
"@smithy/service-error-classification": "^4.2.
|
|
40
|
-
"@smithy/smithy-client": "^4.12.
|
|
41
|
-
"@smithy/types": "^4.13.
|
|
42
|
-
"@smithy/util-middleware": "^4.2.
|
|
43
|
-
"@smithy/util-retry": "^4.2.
|
|
44
|
-
"@smithy/uuid": "^1.1.
|
|
37
|
+
"@smithy/node-config-provider": "^4.3.12",
|
|
38
|
+
"@smithy/protocol-http": "^5.3.12",
|
|
39
|
+
"@smithy/service-error-classification": "^4.2.12",
|
|
40
|
+
"@smithy/smithy-client": "^4.12.6",
|
|
41
|
+
"@smithy/types": "^4.13.1",
|
|
42
|
+
"@smithy/util-middleware": "^4.2.12",
|
|
43
|
+
"@smithy/util-retry": "^4.2.12",
|
|
44
|
+
"@smithy/uuid": "^1.1.2",
|
|
45
45
|
"tslib": "^2.6.2"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"node": ">=18.0.0"
|
|
56
56
|
},
|
|
57
57
|
"typesVersions": {
|
|
58
|
-
"<4.
|
|
58
|
+
"<4.5": {
|
|
59
59
|
"dist-types/*": [
|
|
60
60
|
"dist-types/ts3.4/*"
|
|
61
61
|
]
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var protocolHttp = require('@smithy/protocol-http');
|
|
4
|
+
var endpoints = require('@smithy/core/endpoints');
|
|
4
5
|
|
|
5
6
|
const deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {
|
|
6
7
|
const { response } = await next(args);
|
|
@@ -62,8 +63,8 @@ const findHeader = (pattern, headers) => {
|
|
|
62
63
|
|
|
63
64
|
const serializerMiddleware = (options, serializer) => (next, context) => async (args) => {
|
|
64
65
|
const endpointConfig = options;
|
|
65
|
-
const endpoint = context.endpointV2
|
|
66
|
-
? async () =>
|
|
66
|
+
const endpoint = context.endpointV2
|
|
67
|
+
? async () => endpoints.toEndpointV1(context.endpointV2)
|
|
67
68
|
: endpointConfig.endpoint;
|
|
68
69
|
if (!endpoint) {
|
|
69
70
|
throw new Error("No valid endpoint provider available.");
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { toEndpointV1 } from "@smithy/core/endpoints";
|
|
1
2
|
export const serializerMiddleware = (options, serializer) => (next, context) => async (args) => {
|
|
2
3
|
const endpointConfig = options;
|
|
3
|
-
const endpoint = context.endpointV2
|
|
4
|
-
? async () =>
|
|
4
|
+
const endpoint = context.endpointV2
|
|
5
|
+
? async () => toEndpointV1(context.endpointV2)
|
|
5
6
|
: endpointConfig.endpoint;
|
|
6
7
|
if (!endpoint) {
|
|
7
8
|
throw new Error("No valid endpoint provider available.");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/middleware-serde",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.15",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
|
|
6
6
|
"build:cjs": "node ../../scripts/inline middleware-serde",
|
|
@@ -26,15 +26,16 @@
|
|
|
26
26
|
"license": "Apache-2.0",
|
|
27
27
|
"sideEffects": false,
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@smithy/
|
|
30
|
-
"@smithy/
|
|
29
|
+
"@smithy/core": "^3.23.12",
|
|
30
|
+
"@smithy/protocol-http": "^5.3.12",
|
|
31
|
+
"@smithy/types": "^4.13.1",
|
|
31
32
|
"tslib": "^2.6.2"
|
|
32
33
|
},
|
|
33
34
|
"engines": {
|
|
34
35
|
"node": ">=18.0.0"
|
|
35
36
|
},
|
|
36
37
|
"typesVersions": {
|
|
37
|
-
"<4.
|
|
38
|
+
"<4.5": {
|
|
38
39
|
"dist-types/*": [
|
|
39
40
|
"dist-types/ts3.4/*"
|
|
40
41
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/middleware-stack",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.12",
|
|
4
4
|
"description": "Provides a means for composing multiple middleware functions into a single handler",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"module": "./dist-es/index.js",
|
|
28
28
|
"types": "./dist-types/index.d.ts",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@smithy/types": "^4.13.
|
|
30
|
+
"@smithy/types": "^4.13.1",
|
|
31
31
|
"tslib": "^2.6.2"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"node": ">=18.0.0"
|
|
41
41
|
},
|
|
42
42
|
"typesVersions": {
|
|
43
|
-
"<4.
|
|
43
|
+
"<4.5": {
|
|
44
44
|
"dist-types/*": [
|
|
45
45
|
"dist-types/ts3.4/*"
|
|
46
46
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smithy/node-config-provider",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.12",
|
|
4
4
|
"description": "Load config default values from ini config files and environmental variable",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"module": "./dist-es/index.js",
|
|
27
27
|
"types": "./dist-types/index.d.ts",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@smithy/property-provider": "^4.2.
|
|
30
|
-
"@smithy/shared-ini-file-loader": "^4.4.
|
|
31
|
-
"@smithy/types": "^4.13.
|
|
29
|
+
"@smithy/property-provider": "^4.2.12",
|
|
30
|
+
"@smithy/shared-ini-file-loader": "^4.4.7",
|
|
31
|
+
"@smithy/types": "^4.13.1",
|
|
32
32
|
"tslib": "^2.6.2"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"node": ">=18.0.0"
|
|
43
43
|
},
|
|
44
44
|
"typesVersions": {
|
|
45
|
-
"<4.
|
|
45
|
+
"<4.5": {
|
|
46
46
|
"dist-types/*": [
|
|
47
47
|
"dist-types/ts3.4/*"
|
|
48
48
|
]
|
|
@@ -2,10 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
var protocolHttp = require('@smithy/protocol-http');
|
|
4
4
|
var querystringBuilder = require('@smithy/querystring-builder');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
|
|
5
|
+
var node_https = require('node:https');
|
|
6
|
+
var node_stream = require('node:stream');
|
|
7
|
+
var http2 = require('node:http2');
|
|
8
|
+
|
|
9
|
+
function buildAbortError(abortSignal) {
|
|
10
|
+
const reason = abortSignal && typeof abortSignal === "object" && "reason" in abortSignal
|
|
11
|
+
? abortSignal.reason
|
|
12
|
+
: undefined;
|
|
13
|
+
if (reason) {
|
|
14
|
+
if (reason instanceof Error) {
|
|
15
|
+
const abortError = new Error("Request aborted");
|
|
16
|
+
abortError.name = "AbortError";
|
|
17
|
+
abortError.cause = reason;
|
|
18
|
+
return abortError;
|
|
19
|
+
}
|
|
20
|
+
const abortError = new Error(String(reason));
|
|
21
|
+
abortError.name = "AbortError";
|
|
22
|
+
return abortError;
|
|
23
|
+
}
|
|
24
|
+
const abortError = new Error("Request aborted");
|
|
25
|
+
abortError.name = "AbortError";
|
|
26
|
+
return abortError;
|
|
27
|
+
}
|
|
9
28
|
|
|
10
29
|
const NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "EPIPE", "ETIMEDOUT"];
|
|
11
30
|
|
|
@@ -157,7 +176,7 @@ async function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN
|
|
|
157
176
|
}
|
|
158
177
|
}
|
|
159
178
|
function writeBody(httpRequest, body) {
|
|
160
|
-
if (body instanceof
|
|
179
|
+
if (body instanceof node_stream.Readable) {
|
|
161
180
|
body.pipe(httpRequest);
|
|
162
181
|
return;
|
|
163
182
|
}
|
|
@@ -188,6 +207,8 @@ function writeBody(httpRequest, body) {
|
|
|
188
207
|
}
|
|
189
208
|
|
|
190
209
|
const DEFAULT_REQUEST_TIMEOUT = 0;
|
|
210
|
+
let hAgent = undefined;
|
|
211
|
+
let hRequest = undefined;
|
|
191
212
|
class NodeHttpHandler {
|
|
192
213
|
config;
|
|
193
214
|
configProvider;
|
|
@@ -237,33 +258,6 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
237
258
|
}
|
|
238
259
|
});
|
|
239
260
|
}
|
|
240
|
-
resolveDefaultConfig(options) {
|
|
241
|
-
const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger, } = options || {};
|
|
242
|
-
const keepAlive = true;
|
|
243
|
-
const maxSockets = 50;
|
|
244
|
-
return {
|
|
245
|
-
connectionTimeout,
|
|
246
|
-
requestTimeout,
|
|
247
|
-
socketTimeout,
|
|
248
|
-
socketAcquisitionWarningTimeout,
|
|
249
|
-
throwOnRequestTimeout,
|
|
250
|
-
httpAgent: (() => {
|
|
251
|
-
if (httpAgent instanceof http.Agent || typeof httpAgent?.destroy === "function") {
|
|
252
|
-
this.externalAgent = true;
|
|
253
|
-
return httpAgent;
|
|
254
|
-
}
|
|
255
|
-
return new http.Agent({ keepAlive, maxSockets, ...httpAgent });
|
|
256
|
-
})(),
|
|
257
|
-
httpsAgent: (() => {
|
|
258
|
-
if (httpsAgent instanceof https.Agent || typeof httpsAgent?.destroy === "function") {
|
|
259
|
-
this.externalAgent = true;
|
|
260
|
-
return httpsAgent;
|
|
261
|
-
}
|
|
262
|
-
return new https.Agent({ keepAlive, maxSockets, ...httpsAgent });
|
|
263
|
-
})(),
|
|
264
|
-
logger,
|
|
265
|
-
};
|
|
266
|
-
}
|
|
267
261
|
destroy() {
|
|
268
262
|
this.config?.httpAgent?.destroy();
|
|
269
263
|
this.config?.httpsAgent?.destroy();
|
|
@@ -272,8 +266,12 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
272
266
|
if (!this.config) {
|
|
273
267
|
this.config = await this.configProvider;
|
|
274
268
|
}
|
|
269
|
+
const config = this.config;
|
|
270
|
+
const isSSL = request.protocol === "https:";
|
|
271
|
+
if (!isSSL && !this.config.httpAgent) {
|
|
272
|
+
this.config.httpAgent = await this.config.httpAgentProvider();
|
|
273
|
+
}
|
|
275
274
|
return new Promise((_resolve, _reject) => {
|
|
276
|
-
const config = this.config;
|
|
277
275
|
let writeRequestBodyPromise = undefined;
|
|
278
276
|
const timeouts = [];
|
|
279
277
|
const resolve = async (arg) => {
|
|
@@ -287,17 +285,15 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
287
285
|
_reject(arg);
|
|
288
286
|
};
|
|
289
287
|
if (abortSignal?.aborted) {
|
|
290
|
-
const abortError =
|
|
291
|
-
abortError.name = "AbortError";
|
|
288
|
+
const abortError = buildAbortError(abortSignal);
|
|
292
289
|
reject(abortError);
|
|
293
290
|
return;
|
|
294
291
|
}
|
|
295
|
-
const isSSL = request.protocol === "https:";
|
|
296
292
|
const headers = request.headers ?? {};
|
|
297
293
|
const expectContinue = (headers.Expect ?? headers.expect) === "100-continue";
|
|
298
294
|
let agent = isSSL ? config.httpsAgent : config.httpAgent;
|
|
299
295
|
if (expectContinue && !this.externalAgent) {
|
|
300
|
-
agent = new (isSSL ?
|
|
296
|
+
agent = new (isSSL ? node_https.Agent : hAgent)({
|
|
301
297
|
keepAlive: false,
|
|
302
298
|
maxSockets: Infinity,
|
|
303
299
|
});
|
|
@@ -335,7 +331,7 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
335
331
|
agent,
|
|
336
332
|
auth,
|
|
337
333
|
};
|
|
338
|
-
const requestFunc = isSSL ?
|
|
334
|
+
const requestFunc = isSSL ? node_https.request : hRequest;
|
|
339
335
|
const req = requestFunc(nodeHttpsOptions, (res) => {
|
|
340
336
|
const httpResponse = new protocolHttp.HttpResponse({
|
|
341
337
|
statusCode: res.statusCode || -1,
|
|
@@ -356,8 +352,7 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
356
352
|
if (abortSignal) {
|
|
357
353
|
const onAbort = () => {
|
|
358
354
|
req.destroy();
|
|
359
|
-
const abortError =
|
|
360
|
-
abortError.name = "AbortError";
|
|
355
|
+
const abortError = buildAbortError(abortSignal);
|
|
361
356
|
reject(abortError);
|
|
362
357
|
};
|
|
363
358
|
if (typeof abortSignal.addEventListener === "function") {
|
|
@@ -398,6 +393,36 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
398
393
|
httpHandlerConfigs() {
|
|
399
394
|
return this.config ?? {};
|
|
400
395
|
}
|
|
396
|
+
resolveDefaultConfig(options) {
|
|
397
|
+
const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger, } = options || {};
|
|
398
|
+
const keepAlive = true;
|
|
399
|
+
const maxSockets = 50;
|
|
400
|
+
return {
|
|
401
|
+
connectionTimeout,
|
|
402
|
+
requestTimeout,
|
|
403
|
+
socketTimeout,
|
|
404
|
+
socketAcquisitionWarningTimeout,
|
|
405
|
+
throwOnRequestTimeout,
|
|
406
|
+
httpAgentProvider: async () => {
|
|
407
|
+
const { Agent, request } = await import('node:http');
|
|
408
|
+
hRequest = request;
|
|
409
|
+
hAgent = Agent;
|
|
410
|
+
if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === "function") {
|
|
411
|
+
this.externalAgent = true;
|
|
412
|
+
return httpAgent;
|
|
413
|
+
}
|
|
414
|
+
return new hAgent({ keepAlive, maxSockets, ...httpAgent });
|
|
415
|
+
},
|
|
416
|
+
httpsAgent: (() => {
|
|
417
|
+
if (httpsAgent instanceof node_https.Agent || typeof httpsAgent?.destroy === "function") {
|
|
418
|
+
this.externalAgent = true;
|
|
419
|
+
return httpsAgent;
|
|
420
|
+
}
|
|
421
|
+
return new node_https.Agent({ keepAlive, maxSockets, ...httpsAgent });
|
|
422
|
+
})(),
|
|
423
|
+
logger,
|
|
424
|
+
};
|
|
425
|
+
}
|
|
401
426
|
}
|
|
402
427
|
|
|
403
428
|
class NodeHttp2ConnectionPool {
|
|
@@ -570,8 +595,7 @@ class NodeHttp2Handler {
|
|
|
570
595
|
};
|
|
571
596
|
if (abortSignal?.aborted) {
|
|
572
597
|
fulfilled = true;
|
|
573
|
-
const abortError =
|
|
574
|
-
abortError.name = "AbortError";
|
|
598
|
+
const abortError = buildAbortError(abortSignal);
|
|
575
599
|
reject(abortError);
|
|
576
600
|
return;
|
|
577
601
|
}
|
|
@@ -633,8 +657,7 @@ class NodeHttp2Handler {
|
|
|
633
657
|
if (abortSignal) {
|
|
634
658
|
const onAbort = () => {
|
|
635
659
|
req.close();
|
|
636
|
-
const abortError =
|
|
637
|
-
abortError.name = "AbortError";
|
|
660
|
+
const abortError = buildAbortError(abortSignal);
|
|
638
661
|
rejectWithDestroy(abortError);
|
|
639
662
|
};
|
|
640
663
|
if (typeof abortSignal.addEventListener === "function") {
|
|
@@ -684,7 +707,7 @@ class NodeHttp2Handler {
|
|
|
684
707
|
}
|
|
685
708
|
}
|
|
686
709
|
|
|
687
|
-
class Collector extends
|
|
710
|
+
class Collector extends node_stream.Writable {
|
|
688
711
|
bufferedBytes = [];
|
|
689
712
|
_write(chunk, encoding, callback) {
|
|
690
713
|
this.bufferedBytes.push(chunk);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function buildAbortError(abortSignal) {
|
|
2
|
+
const reason = abortSignal && typeof abortSignal === "object" && "reason" in abortSignal
|
|
3
|
+
? abortSignal.reason
|
|
4
|
+
: undefined;
|
|
5
|
+
if (reason) {
|
|
6
|
+
if (reason instanceof Error) {
|
|
7
|
+
const abortError = new Error("Request aborted");
|
|
8
|
+
abortError.name = "AbortError";
|
|
9
|
+
abortError.cause = reason;
|
|
10
|
+
return abortError;
|
|
11
|
+
}
|
|
12
|
+
const abortError = new Error(String(reason));
|
|
13
|
+
abortError.name = "AbortError";
|
|
14
|
+
return abortError;
|
|
15
|
+
}
|
|
16
|
+
const abortError = new Error("Request aborted");
|
|
17
|
+
abortError.name = "AbortError";
|
|
18
|
+
return abortError;
|
|
19
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpResponse } from "@smithy/protocol-http";
|
|
2
2
|
import { buildQueryString } from "@smithy/querystring-builder";
|
|
3
|
-
import { Agent as
|
|
4
|
-
import {
|
|
3
|
+
import { Agent as hsAgent, request as hsRequest } from "node:https";
|
|
4
|
+
import { buildAbortError } from "./build-abort-error";
|
|
5
5
|
import { NODEJS_TIMEOUT_ERROR_CODES } from "./constants";
|
|
6
6
|
import { getTransformedHeaders } from "./get-transformed-headers";
|
|
7
7
|
import { setConnectionTimeout } from "./set-connection-timeout";
|
|
@@ -11,6 +11,8 @@ import { setSocketTimeout } from "./set-socket-timeout";
|
|
|
11
11
|
import { timing } from "./timing";
|
|
12
12
|
import { writeRequestBody } from "./write-request-body";
|
|
13
13
|
export const DEFAULT_REQUEST_TIMEOUT = 0;
|
|
14
|
+
let hAgent = undefined;
|
|
15
|
+
let hRequest = undefined;
|
|
14
16
|
export class NodeHttpHandler {
|
|
15
17
|
config;
|
|
16
18
|
configProvider;
|
|
@@ -60,33 +62,6 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
60
62
|
}
|
|
61
63
|
});
|
|
62
64
|
}
|
|
63
|
-
resolveDefaultConfig(options) {
|
|
64
|
-
const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger, } = options || {};
|
|
65
|
-
const keepAlive = true;
|
|
66
|
-
const maxSockets = 50;
|
|
67
|
-
return {
|
|
68
|
-
connectionTimeout,
|
|
69
|
-
requestTimeout,
|
|
70
|
-
socketTimeout,
|
|
71
|
-
socketAcquisitionWarningTimeout,
|
|
72
|
-
throwOnRequestTimeout,
|
|
73
|
-
httpAgent: (() => {
|
|
74
|
-
if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === "function") {
|
|
75
|
-
this.externalAgent = true;
|
|
76
|
-
return httpAgent;
|
|
77
|
-
}
|
|
78
|
-
return new hAgent({ keepAlive, maxSockets, ...httpAgent });
|
|
79
|
-
})(),
|
|
80
|
-
httpsAgent: (() => {
|
|
81
|
-
if (httpsAgent instanceof hsAgent || typeof httpsAgent?.destroy === "function") {
|
|
82
|
-
this.externalAgent = true;
|
|
83
|
-
return httpsAgent;
|
|
84
|
-
}
|
|
85
|
-
return new hsAgent({ keepAlive, maxSockets, ...httpsAgent });
|
|
86
|
-
})(),
|
|
87
|
-
logger,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
65
|
destroy() {
|
|
91
66
|
this.config?.httpAgent?.destroy();
|
|
92
67
|
this.config?.httpsAgent?.destroy();
|
|
@@ -95,8 +70,12 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
95
70
|
if (!this.config) {
|
|
96
71
|
this.config = await this.configProvider;
|
|
97
72
|
}
|
|
73
|
+
const config = this.config;
|
|
74
|
+
const isSSL = request.protocol === "https:";
|
|
75
|
+
if (!isSSL && !this.config.httpAgent) {
|
|
76
|
+
this.config.httpAgent = await this.config.httpAgentProvider();
|
|
77
|
+
}
|
|
98
78
|
return new Promise((_resolve, _reject) => {
|
|
99
|
-
const config = this.config;
|
|
100
79
|
let writeRequestBodyPromise = undefined;
|
|
101
80
|
const timeouts = [];
|
|
102
81
|
const resolve = async (arg) => {
|
|
@@ -110,12 +89,10 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
110
89
|
_reject(arg);
|
|
111
90
|
};
|
|
112
91
|
if (abortSignal?.aborted) {
|
|
113
|
-
const abortError =
|
|
114
|
-
abortError.name = "AbortError";
|
|
92
|
+
const abortError = buildAbortError(abortSignal);
|
|
115
93
|
reject(abortError);
|
|
116
94
|
return;
|
|
117
95
|
}
|
|
118
|
-
const isSSL = request.protocol === "https:";
|
|
119
96
|
const headers = request.headers ?? {};
|
|
120
97
|
const expectContinue = (headers.Expect ?? headers.expect) === "100-continue";
|
|
121
98
|
let agent = isSSL ? config.httpsAgent : config.httpAgent;
|
|
@@ -179,8 +156,7 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
179
156
|
if (abortSignal) {
|
|
180
157
|
const onAbort = () => {
|
|
181
158
|
req.destroy();
|
|
182
|
-
const abortError =
|
|
183
|
-
abortError.name = "AbortError";
|
|
159
|
+
const abortError = buildAbortError(abortSignal);
|
|
184
160
|
reject(abortError);
|
|
185
161
|
};
|
|
186
162
|
if (typeof abortSignal.addEventListener === "function") {
|
|
@@ -221,4 +197,34 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
221
197
|
httpHandlerConfigs() {
|
|
222
198
|
return this.config ?? {};
|
|
223
199
|
}
|
|
200
|
+
resolveDefaultConfig(options) {
|
|
201
|
+
const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger, } = options || {};
|
|
202
|
+
const keepAlive = true;
|
|
203
|
+
const maxSockets = 50;
|
|
204
|
+
return {
|
|
205
|
+
connectionTimeout,
|
|
206
|
+
requestTimeout,
|
|
207
|
+
socketTimeout,
|
|
208
|
+
socketAcquisitionWarningTimeout,
|
|
209
|
+
throwOnRequestTimeout,
|
|
210
|
+
httpAgentProvider: async () => {
|
|
211
|
+
const { Agent, request } = await import("node:http");
|
|
212
|
+
hRequest = request;
|
|
213
|
+
hAgent = Agent;
|
|
214
|
+
if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === "function") {
|
|
215
|
+
this.externalAgent = true;
|
|
216
|
+
return httpAgent;
|
|
217
|
+
}
|
|
218
|
+
return new hAgent({ keepAlive, maxSockets, ...httpAgent });
|
|
219
|
+
},
|
|
220
|
+
httpsAgent: (() => {
|
|
221
|
+
if (httpsAgent instanceof hsAgent || typeof httpsAgent?.destroy === "function") {
|
|
222
|
+
this.externalAgent = true;
|
|
223
|
+
return httpsAgent;
|
|
224
|
+
}
|
|
225
|
+
return new hsAgent({ keepAlive, maxSockets, ...httpsAgent });
|
|
226
|
+
})(),
|
|
227
|
+
logger,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
224
230
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HttpResponse } from "@smithy/protocol-http";
|
|
2
2
|
import { buildQueryString } from "@smithy/querystring-builder";
|
|
3
|
-
import { constants } from "http2";
|
|
3
|
+
import { constants } from "node:http2";
|
|
4
|
+
import { buildAbortError } from "./build-abort-error";
|
|
4
5
|
import { getTransformedHeaders } from "./get-transformed-headers";
|
|
5
6
|
import { NodeHttp2ConnectionManager } from "./node-http2-connection-manager";
|
|
6
7
|
import { writeRequestBody } from "./write-request-body";
|
|
@@ -55,8 +56,7 @@ export class NodeHttp2Handler {
|
|
|
55
56
|
};
|
|
56
57
|
if (abortSignal?.aborted) {
|
|
57
58
|
fulfilled = true;
|
|
58
|
-
const abortError =
|
|
59
|
-
abortError.name = "AbortError";
|
|
59
|
+
const abortError = buildAbortError(abortSignal);
|
|
60
60
|
reject(abortError);
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
@@ -118,8 +118,7 @@ export class NodeHttp2Handler {
|
|
|
118
118
|
if (abortSignal) {
|
|
119
119
|
const onAbort = () => {
|
|
120
120
|
req.close();
|
|
121
|
-
const abortError =
|
|
122
|
-
abortError.name = "AbortError";
|
|
121
|
+
const abortError = buildAbortError(abortSignal);
|
|
123
122
|
rejectWithDestroy(abortError);
|
|
124
123
|
};
|
|
125
124
|
if (typeof abortSignal.addEventListener === "function") {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { readFileSync } from "fs";
|
|
2
|
-
import { createServer as createHttpServer } from "http";
|
|
3
|
-
import { createServer as createHttp2Server } from "http2";
|
|
4
|
-
import { createServer as createHttpsServer } from "https";
|
|
5
|
-
import { join } from "path";
|
|
6
|
-
import { Readable } from "stream";
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { createServer as createHttpServer } from "node:http";
|
|
3
|
+
import { createServer as createHttp2Server } from "node:http2";
|
|
4
|
+
import { createServer as createHttpsServer } from "node:https";
|
|
5
|
+
import { join } from "node:path";
|
|
6
|
+
import { Readable } from "node:stream";
|
|
7
7
|
import { timing } from "./timing";
|
|
8
8
|
const fixturesDir = join(__dirname, "..", "fixtures");
|
|
9
9
|
const setResponseHeaders = (response, headers) => {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds an abort error, using the AbortSignal's reason if available.
|
|
3
|
+
*
|
|
4
|
+
* @param abortSignal - Optional AbortSignal that may contain a reason.
|
|
5
|
+
* @returns A new Error with name "AbortError". If the signal has a reason that's
|
|
6
|
+
* already an Error, the reason is set as `cause`. Otherwise creates a
|
|
7
|
+
* new Error with the reason as the message, or "Request aborted" if no
|
|
8
|
+
* reason.
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildAbortError(abortSignal?: unknown): Error;
|