@mavogel/awscdk-rootmail 0.0.114 → 0.0.115

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.
Files changed (92) hide show
  1. package/.jsii +9 -9
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +5 -5
  5. package/node_modules/@aws-sdk/client-route-53/package.json +5 -5
  6. package/node_modules/@aws-sdk/client-s3/dist-cjs/auth/httpAuthSchemeProvider.js +126 -0
  7. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +67 -13
  8. package/node_modules/@aws-sdk/client-s3/dist-cjs/runtimeConfig.shared.js +15 -0
  9. package/node_modules/@aws-sdk/client-s3/dist-es/S3Client.js +15 -6
  10. package/node_modules/@aws-sdk/client-s3/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  11. package/node_modules/@aws-sdk/client-s3/dist-es/auth/httpAuthSchemeProvider.js +122 -0
  12. package/node_modules/@aws-sdk/client-s3/dist-es/runtimeConfig.shared.js +15 -0
  13. package/node_modules/@aws-sdk/client-s3/dist-es/runtimeExtensions.js +3 -0
  14. package/node_modules/@aws-sdk/client-s3/dist-types/S3Client.d.ts +15 -14
  15. package/node_modules/@aws-sdk/client-s3/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  16. package/node_modules/@aws-sdk/client-s3/dist-types/auth/httpAuthSchemeProvider.d.ts +69 -0
  17. package/node_modules/@aws-sdk/client-s3/dist-types/extensionConfiguration.d.ts +2 -1
  18. package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.browser.d.ts +6 -4
  19. package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.d.ts +4 -2
  20. package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.native.d.ts +6 -4
  21. package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.shared.d.ts +2 -0
  22. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/S3Client.d.ts +13 -15
  23. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  24. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +46 -0
  25. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/extensionConfiguration.d.ts +3 -1
  26. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.browser.d.ts +6 -6
  27. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.d.ts +4 -4
  28. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.native.d.ts +6 -6
  29. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.shared.d.ts +2 -0
  30. package/node_modules/@aws-sdk/client-s3/package.json +9 -9
  31. package/node_modules/@aws-sdk/client-ses/package.json +5 -5
  32. package/node_modules/@aws-sdk/client-ssm/package.json +5 -5
  33. package/node_modules/@aws-sdk/client-sso/package.json +2 -2
  34. package/node_modules/@aws-sdk/client-sso-oidc/package.json +4 -4
  35. package/node_modules/@aws-sdk/client-sts/package.json +4 -4
  36. package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +16 -3
  37. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js +11 -1
  38. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js +1 -1
  39. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/index.d.ts +1 -1
  40. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/index.d.ts +5 -1
  41. package/node_modules/@aws-sdk/core/package.json +1 -1
  42. package/node_modules/@aws-sdk/credential-provider-ini/package.json +3 -3
  43. package/node_modules/@aws-sdk/credential-provider-node/package.json +3 -3
  44. package/node_modules/@aws-sdk/credential-provider-sso/package.json +2 -2
  45. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +92 -10
  46. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-endpoint-middleware.js +24 -10
  47. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressHttpSigningMiddleware.js +39 -0
  48. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/signS3Express.js +7 -0
  49. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/index.js +1 -0
  50. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3ExpressHttpSigningMiddleware.d.ts +27 -0
  51. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/signS3Express.d.ts +13 -0
  52. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/index.d.ts +1 -0
  53. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/s3ExpressHttpSigningMiddleware.d.ts +40 -0
  54. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/signS3Express.d.ts +27 -0
  55. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/index.d.ts +5 -0
  56. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +4 -1
  57. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
  58. package/node_modules/cdk-nag/.jsii +2 -2
  59. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  60. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  61. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  62. package/node_modules/cdk-nag/lib/nag-rules.js +1 -1
  63. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  64. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  65. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  66. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  67. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  68. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  69. package/node_modules/cdk-nag/package.json +1 -1
  70. package/package.json +7 -7
  71. package/node_modules/@aws-sdk/middleware-signing/LICENSE +0 -201
  72. package/node_modules/@aws-sdk/middleware-signing/README.md +0 -4
  73. package/node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js +0 -269
  74. package/node_modules/@aws-sdk/middleware-signing/dist-es/awsAuthConfiguration.js +0 -115
  75. package/node_modules/@aws-sdk/middleware-signing/dist-es/awsAuthMiddleware.js +0 -81
  76. package/node_modules/@aws-sdk/middleware-signing/dist-es/index.js +0 -2
  77. package/node_modules/@aws-sdk/middleware-signing/dist-es/utils/getSkewCorrectedDate.js +0 -1
  78. package/node_modules/@aws-sdk/middleware-signing/dist-es/utils/getUpdatedSystemClockOffset.js +0 -8
  79. package/node_modules/@aws-sdk/middleware-signing/dist-es/utils/isClockSkewed.js +0 -2
  80. package/node_modules/@aws-sdk/middleware-signing/dist-types/awsAuthConfiguration.d.ts +0 -99
  81. package/node_modules/@aws-sdk/middleware-signing/dist-types/awsAuthMiddleware.d.ts +0 -6
  82. package/node_modules/@aws-sdk/middleware-signing/dist-types/index.d.ts +0 -2
  83. package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/awsAuthConfiguration.d.ts +0 -68
  84. package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/awsAuthMiddleware.d.ts +0 -19
  85. package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/index.d.ts +0 -2
  86. package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/utils/getSkewCorrectedDate.d.ts +0 -1
  87. package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/utils/getUpdatedSystemClockOffset.d.ts +0 -4
  88. package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/utils/isClockSkewed.d.ts +0 -4
  89. package/node_modules/@aws-sdk/middleware-signing/dist-types/utils/getSkewCorrectedDate.d.ts +0 -6
  90. package/node_modules/@aws-sdk/middleware-signing/dist-types/utils/getUpdatedSystemClockOffset.d.ts +0 -8
  91. package/node_modules/@aws-sdk/middleware-signing/dist-types/utils/isClockSkewed.d.ts +0 -7
  92. package/node_modules/@aws-sdk/middleware-signing/package.json +0 -59
package/.jsii CHANGED
@@ -7,14 +7,14 @@
7
7
  ]
8
8
  },
9
9
  "bundled": {
10
- "@aws-sdk/client-cloudwatch-logs": "^3.623.0",
11
- "@aws-sdk/client-route-53": "^3.623.0",
12
- "@aws-sdk/client-s3": "^3.623.0",
13
- "@aws-sdk/client-ses": "^3.623.0",
14
- "@aws-sdk/client-ssm": "^3.623.0",
10
+ "@aws-sdk/client-cloudwatch-logs": "^3.624.0",
11
+ "@aws-sdk/client-route-53": "^3.624.0",
12
+ "@aws-sdk/client-s3": "^3.624.0",
13
+ "@aws-sdk/client-ses": "^3.624.0",
14
+ "@aws-sdk/client-ssm": "^3.624.0",
15
15
  "async-retry": "^1.3.3",
16
16
  "axios": "^1.7.3",
17
- "cdk-nag": "^2.28.173",
17
+ "cdk-nag": "^2.28.174",
18
18
  "mailparser": "^3.7.1",
19
19
  "uuid": "^9.0.1"
20
20
  },
@@ -3503,7 +3503,7 @@
3503
3503
  "stability": "stable"
3504
3504
  },
3505
3505
  "homepage": "https://github.com/MV-Consulting/awscdk-rootmail",
3506
- "jsiiVersion": "5.3.46 (build 7ede562)",
3506
+ "jsiiVersion": "5.3.48 (build e731dd5)",
3507
3507
  "keywords": [
3508
3508
  "aws",
3509
3509
  "cdk",
@@ -3877,6 +3877,6 @@
3877
3877
  "symbolId": "src/ses-receive:SESReceiveProps"
3878
3878
  }
3879
3879
  },
3880
- "version": "0.0.114",
3881
- "fingerprint": "aPe8dWvtxFFunrfFALH3QjjErmGFRaVT2TUArhgYrsQ="
3880
+ "version": "0.0.115",
3881
+ "fingerprint": "2bk/U+13WqzZ6UCmQEGGMZGGMB3RFhsZJiJIIEqHvmY="
3882
3882
  }
package/lib/rootmail.js CHANGED
@@ -74,7 +74,7 @@ class Rootmail extends constructs_1.Construct {
74
74
  }
75
75
  exports.Rootmail = Rootmail;
76
76
  _a = JSII_RTTI_SYMBOL_1;
77
- Rootmail[_a] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.0.114" };
77
+ Rootmail[_a] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.0.115" };
78
78
  /**
79
79
  * Aspect for setting all removal policies to DESTROY
80
80
  */
@@ -124,7 +124,7 @@ class SESReceive extends constructs_1.Construct {
124
124
  }
125
125
  exports.SESReceive = SESReceive;
126
126
  _a = JSII_RTTI_SYMBOL_1;
127
- SESReceive[_a] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.0.114" };
127
+ SESReceive[_a] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.0.115" };
128
128
  /**
129
129
  * Aspect for setting all removal policies to DESTROY
130
130
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-cloudwatch-logs",
3
3
  "description": "AWS SDK for JavaScript Cloudwatch Logs Client for Node.js, Browser and React Native",
4
- "version": "3.623.0",
4
+ "version": "3.624.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-cloudwatch-logs",
@@ -20,10 +20,10 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.623.0",
24
- "@aws-sdk/client-sts": "3.623.0",
25
- "@aws-sdk/core": "3.623.0",
26
- "@aws-sdk/credential-provider-node": "3.623.0",
23
+ "@aws-sdk/client-sso-oidc": "3.624.0",
24
+ "@aws-sdk/client-sts": "3.624.0",
25
+ "@aws-sdk/core": "3.624.0",
26
+ "@aws-sdk/credential-provider-node": "3.624.0",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-route-53",
3
3
  "description": "AWS SDK for JavaScript Route 53 Client for Node.js, Browser and React Native",
4
- "version": "3.623.0",
4
+ "version": "3.624.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-route-53",
@@ -20,10 +20,10 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.623.0",
24
- "@aws-sdk/client-sts": "3.623.0",
25
- "@aws-sdk/core": "3.623.0",
26
- "@aws-sdk/credential-provider-node": "3.623.0",
23
+ "@aws-sdk/client-sso-oidc": "3.624.0",
24
+ "@aws-sdk/client-sts": "3.624.0",
25
+ "@aws-sdk/core": "3.624.0",
26
+ "@aws-sdk/credential-provider-node": "3.624.0",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveHttpAuthSchemeConfig = exports.defaultS3HttpAuthSchemeProvider = exports.defaultS3HttpAuthSchemeParametersProvider = void 0;
4
+ const core_1 = require("@aws-sdk/core");
5
+ const signature_v4_multi_region_1 = require("@aws-sdk/signature-v4-multi-region");
6
+ const middleware_endpoint_1 = require("@smithy/middleware-endpoint");
7
+ const util_middleware_1 = require("@smithy/util-middleware");
8
+ const endpointResolver_1 = require("../endpoint/endpointResolver");
9
+ const createEndpointRuleSetHttpAuthSchemeParametersProvider = (defaultHttpAuthSchemeParametersProvider) => async (config, context, input) => {
10
+ if (!input) {
11
+ throw new Error(`Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\``);
12
+ }
13
+ const defaultParameters = await defaultHttpAuthSchemeParametersProvider(config, context, input);
14
+ const instructionsFn = (0, util_middleware_1.getSmithyContext)(context)?.commandInstance?.constructor
15
+ ?.getEndpointParameterInstructions;
16
+ if (!instructionsFn) {
17
+ throw new Error(`getEndpointParameterInstructions() is not defined on \`${context.commandName}\``);
18
+ }
19
+ const endpointParameters = await (0, middleware_endpoint_1.resolveParams)(input, { getEndpointParameterInstructions: instructionsFn }, config);
20
+ return Object.assign(defaultParameters, endpointParameters);
21
+ };
22
+ const _defaultS3HttpAuthSchemeParametersProvider = async (config, context, input) => {
23
+ return {
24
+ operation: (0, util_middleware_1.getSmithyContext)(context).operation,
25
+ region: (await (0, util_middleware_1.normalizeProvider)(config.region)()) ||
26
+ (() => {
27
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
28
+ })(),
29
+ };
30
+ };
31
+ exports.defaultS3HttpAuthSchemeParametersProvider = createEndpointRuleSetHttpAuthSchemeParametersProvider(_defaultS3HttpAuthSchemeParametersProvider);
32
+ function createAwsAuthSigv4HttpAuthOption(authParameters) {
33
+ return {
34
+ schemeId: "aws.auth#sigv4",
35
+ signingProperties: {
36
+ name: "s3",
37
+ region: authParameters.region,
38
+ },
39
+ propertiesExtractor: (config, context) => ({
40
+ signingProperties: {
41
+ config,
42
+ context,
43
+ },
44
+ }),
45
+ };
46
+ }
47
+ function createAwsAuthSigv4aHttpAuthOption(authParameters) {
48
+ return {
49
+ schemeId: "aws.auth#sigv4a",
50
+ signingProperties: {
51
+ name: "s3",
52
+ region: authParameters.region,
53
+ },
54
+ propertiesExtractor: (config, context) => ({
55
+ signingProperties: {
56
+ config,
57
+ context,
58
+ },
59
+ }),
60
+ };
61
+ }
62
+ const createEndpointRuleSetHttpAuthSchemeProvider = (defaultEndpointResolver, defaultHttpAuthSchemeResolver, createHttpAuthOptionFunctions) => {
63
+ const endpointRuleSetHttpAuthSchemeProvider = (authParameters) => {
64
+ const endpoint = defaultEndpointResolver(authParameters);
65
+ const authSchemes = endpoint.properties?.authSchemes;
66
+ if (!authSchemes) {
67
+ return defaultHttpAuthSchemeResolver(authParameters);
68
+ }
69
+ const options = [];
70
+ for (const scheme of authSchemes) {
71
+ const { name: resolvedName, properties = {}, ...rest } = scheme;
72
+ const name = resolvedName.toLowerCase();
73
+ if (resolvedName !== name) {
74
+ console.warn(`HttpAuthScheme has been normalized with lowercasing: \`${resolvedName}\` to \`${name}\``);
75
+ }
76
+ let schemeId;
77
+ if (name === "sigv4a") {
78
+ schemeId = "aws.auth#sigv4a";
79
+ const sigv4Present = authSchemes.find((s) => {
80
+ const name = s.name.toLowerCase();
81
+ return name !== "sigv4a" && name.startsWith("sigv4");
82
+ });
83
+ if (!signature_v4_multi_region_1.signatureV4CrtContainer.CrtSignerV4 && sigv4Present) {
84
+ continue;
85
+ }
86
+ }
87
+ else if (name.startsWith("sigv4")) {
88
+ schemeId = "aws.auth#sigv4";
89
+ }
90
+ else {
91
+ throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${name}\``);
92
+ }
93
+ const createOption = createHttpAuthOptionFunctions[schemeId];
94
+ if (!createOption) {
95
+ throw new Error(`Could not find HttpAuthOption create function for \`${schemeId}\``);
96
+ }
97
+ const option = createOption(authParameters);
98
+ option.schemeId = schemeId;
99
+ option.signingProperties = { ...(option.signingProperties || {}), ...rest, ...properties };
100
+ options.push(option);
101
+ }
102
+ return options;
103
+ };
104
+ return endpointRuleSetHttpAuthSchemeProvider;
105
+ };
106
+ const _defaultS3HttpAuthSchemeProvider = (authParameters) => {
107
+ const options = [];
108
+ switch (authParameters.operation) {
109
+ default: {
110
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
111
+ options.push(createAwsAuthSigv4aHttpAuthOption(authParameters));
112
+ }
113
+ }
114
+ return options;
115
+ };
116
+ exports.defaultS3HttpAuthSchemeProvider = createEndpointRuleSetHttpAuthSchemeProvider(endpointResolver_1.defaultEndpointResolver, _defaultS3HttpAuthSchemeProvider, {
117
+ "aws.auth#sigv4": createAwsAuthSigv4HttpAuthOption,
118
+ "aws.auth#sigv4a": createAwsAuthSigv4aHttpAuthOption,
119
+ });
120
+ const resolveHttpAuthSchemeConfig = (config) => {
121
+ const config_0 = (0, core_1.resolveAwsSdkSigV4Config)(config);
122
+ return {
123
+ ...config_0,
124
+ };
125
+ };
126
+ exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
@@ -261,14 +261,15 @@ var import_middleware_host_header = require("@aws-sdk/middleware-host-header");
261
261
  var import_middleware_logger = require("@aws-sdk/middleware-logger");
262
262
  var import_middleware_recursion_detection = require("@aws-sdk/middleware-recursion-detection");
263
263
  var import_middleware_sdk_s32 = require("@aws-sdk/middleware-sdk-s3");
264
- var import_middleware_signing = require("@aws-sdk/middleware-signing");
265
264
  var import_middleware_user_agent = require("@aws-sdk/middleware-user-agent");
266
265
  var import_config_resolver = require("@smithy/config-resolver");
266
+ var import_core3 = require("@smithy/core");
267
267
  var import_eventstream_serde_config_resolver = require("@smithy/eventstream-serde-config-resolver");
268
268
  var import_middleware_content_length = require("@smithy/middleware-content-length");
269
269
 
270
270
  var import_middleware_retry = require("@smithy/middleware-retry");
271
271
 
272
+ var import_httpAuthSchemeProvider = require("./auth/httpAuthSchemeProvider");
272
273
 
273
274
  // src/commands/CreateSessionCommand.ts
274
275
  var import_middleware_sdk_s3 = require("@aws-sdk/middleware-sdk-s3");
@@ -8404,19 +8405,62 @@ var import_runtimeConfig = require("././runtimeConfig");
8404
8405
  var import_region_config_resolver = require("@aws-sdk/region-config-resolver");
8405
8406
 
8406
8407
 
8408
+
8409
+ // src/auth/httpAuthExtensionConfiguration.ts
8410
+ var getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
8411
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
8412
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
8413
+ let _credentials = runtimeConfig.credentials;
8414
+ return {
8415
+ setHttpAuthScheme(httpAuthScheme) {
8416
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
8417
+ if (index === -1) {
8418
+ _httpAuthSchemes.push(httpAuthScheme);
8419
+ } else {
8420
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
8421
+ }
8422
+ },
8423
+ httpAuthSchemes() {
8424
+ return _httpAuthSchemes;
8425
+ },
8426
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
8427
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
8428
+ },
8429
+ httpAuthSchemeProvider() {
8430
+ return _httpAuthSchemeProvider;
8431
+ },
8432
+ setCredentials(credentials) {
8433
+ _credentials = credentials;
8434
+ },
8435
+ credentials() {
8436
+ return _credentials;
8437
+ }
8438
+ };
8439
+ }, "getHttpAuthExtensionConfiguration");
8440
+ var resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config) => {
8441
+ return {
8442
+ httpAuthSchemes: config.httpAuthSchemes(),
8443
+ httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
8444
+ credentials: config.credentials()
8445
+ };
8446
+ }, "resolveHttpAuthRuntimeConfig");
8447
+
8448
+ // src/runtimeExtensions.ts
8407
8449
  var asPartial = /* @__PURE__ */ __name((t) => t, "asPartial");
8408
8450
  var resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
8409
8451
  const extensionConfiguration = {
8410
8452
  ...asPartial((0, import_region_config_resolver.getAwsRegionExtensionConfiguration)(runtimeConfig)),
8411
8453
  ...asPartial((0, import_smithy_client.getDefaultExtensionConfiguration)(runtimeConfig)),
8412
- ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig))
8454
+ ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig)),
8455
+ ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig))
8413
8456
  };
8414
8457
  extensions.forEach((extension) => extension.configure(extensionConfiguration));
8415
8458
  return {
8416
8459
  ...runtimeConfig,
8417
8460
  ...(0, import_region_config_resolver.resolveAwsRegionExtensionConfiguration)(extensionConfiguration),
8418
8461
  ...(0, import_smithy_client.resolveDefaultRuntimeConfig)(extensionConfiguration),
8419
- ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration)
8462
+ ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration),
8463
+ ...resolveHttpAuthRuntimeConfig(extensionConfiguration)
8420
8464
  };
8421
8465
  }, "resolveRuntimeExtensions");
8422
8466
 
@@ -8430,9 +8474,9 @@ var _S3Client = class _S3Client extends import_smithy_client.Client {
8430
8474
  const _config_4 = (0, import_config_resolver.resolveRegionConfig)(_config_3);
8431
8475
  const _config_5 = (0, import_middleware_host_header.resolveHostHeaderConfig)(_config_4);
8432
8476
  const _config_6 = (0, import_middleware_endpoint.resolveEndpointConfig)(_config_5);
8433
- const _config_7 = (0, import_middleware_signing.resolveAwsAuthConfig)(_config_6);
8434
- const _config_8 = (0, import_middleware_sdk_s32.resolveS3Config)(_config_7, { session: [() => this, CreateSessionCommand] });
8435
- const _config_9 = (0, import_eventstream_serde_config_resolver.resolveEventStreamSerdeConfig)(_config_8);
8477
+ const _config_7 = (0, import_eventstream_serde_config_resolver.resolveEventStreamSerdeConfig)(_config_6);
8478
+ const _config_8 = (0, import_httpAuthSchemeProvider.resolveHttpAuthSchemeConfig)(_config_7);
8479
+ const _config_9 = (0, import_middleware_sdk_s32.resolveS3Config)(_config_8, { session: [() => this, CreateSessionCommand] });
8436
8480
  const _config_10 = resolveRuntimeExtensions(_config_9, (configuration == null ? void 0 : configuration.extensions) || []);
8437
8481
  super(_config_10);
8438
8482
  this.config = _config_10;
@@ -8442,11 +8486,21 @@ var _S3Client = class _S3Client extends import_smithy_client.Client {
8442
8486
  this.middlewareStack.use((0, import_middleware_host_header.getHostHeaderPlugin)(this.config));
8443
8487
  this.middlewareStack.use((0, import_middleware_logger.getLoggerPlugin)(this.config));
8444
8488
  this.middlewareStack.use((0, import_middleware_recursion_detection.getRecursionDetectionPlugin)(this.config));
8445
- this.middlewareStack.use((0, import_middleware_signing.getAwsAuthPlugin)(this.config));
8489
+ this.middlewareStack.use(
8490
+ (0, import_core3.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, {
8491
+ httpAuthSchemeParametersProvider: import_httpAuthSchemeProvider.defaultS3HttpAuthSchemeParametersProvider,
8492
+ identityProviderConfigProvider: async (config) => new import_core3.DefaultIdentityProviderConfig({
8493
+ "aws.auth#sigv4": config.credentials,
8494
+ "aws.auth#sigv4a": config.credentials
8495
+ })
8496
+ })
8497
+ );
8498
+ this.middlewareStack.use((0, import_core3.getHttpSigningPlugin)(this.config));
8446
8499
  this.middlewareStack.use((0, import_middleware_sdk_s32.getValidateBucketNamePlugin)(this.config));
8447
8500
  this.middlewareStack.use((0, import_middleware_expect_continue.getAddExpectContinuePlugin)(this.config));
8448
8501
  this.middlewareStack.use((0, import_middleware_sdk_s32.getRegionRedirectMiddlewarePlugin)(this.config));
8449
8502
  this.middlewareStack.use((0, import_middleware_sdk_s32.getS3ExpressPlugin)(this.config));
8503
+ this.middlewareStack.use((0, import_middleware_sdk_s32.getS3ExpressHttpSigningPlugin)(this.config));
8450
8504
  }
8451
8505
  /**
8452
8506
  * Destroy underlying resources, like sockets. It's usually not necessary to do this.
@@ -10538,16 +10592,16 @@ var S3 = _S3;
10538
10592
  (0, import_smithy_client.createAggregatedClient)(commands, S3);
10539
10593
 
10540
10594
  // src/pagination/ListDirectoryBucketsPaginator.ts
10541
- var import_core3 = require("@smithy/core");
10542
- var paginateListDirectoryBuckets = (0, import_core3.createPaginator)(S3Client, ListDirectoryBucketsCommand, "ContinuationToken", "ContinuationToken", "MaxDirectoryBuckets");
10595
+ var import_core4 = require("@smithy/core");
10596
+ var paginateListDirectoryBuckets = (0, import_core4.createPaginator)(S3Client, ListDirectoryBucketsCommand, "ContinuationToken", "ContinuationToken", "MaxDirectoryBuckets");
10543
10597
 
10544
10598
  // src/pagination/ListObjectsV2Paginator.ts
10545
- var import_core4 = require("@smithy/core");
10546
- var paginateListObjectsV2 = (0, import_core4.createPaginator)(S3Client, ListObjectsV2Command, "ContinuationToken", "NextContinuationToken", "MaxKeys");
10599
+ var import_core5 = require("@smithy/core");
10600
+ var paginateListObjectsV2 = (0, import_core5.createPaginator)(S3Client, ListObjectsV2Command, "ContinuationToken", "NextContinuationToken", "MaxKeys");
10547
10601
 
10548
10602
  // src/pagination/ListPartsPaginator.ts
10549
- var import_core5 = require("@smithy/core");
10550
- var paginateListParts = (0, import_core5.createPaginator)(S3Client, ListPartsCommand, "PartNumberMarker", "NextPartNumberMarker", "MaxParts");
10603
+ var import_core6 = require("@smithy/core");
10604
+ var paginateListParts = (0, import_core6.createPaginator)(S3Client, ListPartsCommand, "PartNumberMarker", "NextPartNumberMarker", "MaxParts");
10551
10605
 
10552
10606
  // src/waiters/waitForBucketExists.ts
10553
10607
  var import_util_waiter = require("@smithy/util-waiter");
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRuntimeConfig = void 0;
4
+ const core_1 = require("@aws-sdk/core");
4
5
  const signature_v4_multi_region_1 = require("@aws-sdk/signature-v4-multi-region");
5
6
  const smithy_client_1 = require("@smithy/smithy-client");
6
7
  const url_parser_1 = require("@smithy/url-parser");
7
8
  const util_base64_1 = require("@smithy/util-base64");
8
9
  const util_stream_1 = require("@smithy/util-stream");
9
10
  const util_utf8_1 = require("@smithy/util-utf8");
11
+ const httpAuthSchemeProvider_1 = require("./auth/httpAuthSchemeProvider");
10
12
  const endpointResolver_1 = require("./endpoint/endpointResolver");
11
13
  const getRuntimeConfig = (config) => {
12
14
  return {
@@ -17,6 +19,19 @@ const getRuntimeConfig = (config) => {
17
19
  endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
18
20
  extensions: config?.extensions ?? [],
19
21
  getAwsChunkedEncodingStream: config?.getAwsChunkedEncodingStream ?? util_stream_1.getAwsChunkedEncodingStream,
22
+ httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultS3HttpAuthSchemeProvider,
23
+ httpAuthSchemes: config?.httpAuthSchemes ?? [
24
+ {
25
+ schemeId: "aws.auth#sigv4",
26
+ identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
27
+ signer: new core_1.AwsSdkSigV4Signer(),
28
+ },
29
+ {
30
+ schemeId: "aws.auth#sigv4a",
31
+ identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4a"),
32
+ signer: new core_1.AwsSdkSigV4ASigner(),
33
+ },
34
+ ],
20
35
  logger: config?.logger ?? new smithy_client_1.NoOpLogger(),
21
36
  sdkStreamMixin: config?.sdkStreamMixin ?? util_stream_1.sdkStreamMixin,
22
37
  serviceId: config?.serviceId ?? "S3",
@@ -2,15 +2,16 @@ import { getAddExpectContinuePlugin } from "@aws-sdk/middleware-expect-continue"
2
2
  import { getHostHeaderPlugin, resolveHostHeaderConfig, } from "@aws-sdk/middleware-host-header";
3
3
  import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
4
4
  import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
5
- import { getRegionRedirectMiddlewarePlugin, getS3ExpressPlugin, getValidateBucketNamePlugin, resolveS3Config, } from "@aws-sdk/middleware-sdk-s3";
6
- import { getAwsAuthPlugin, resolveAwsAuthConfig, } from "@aws-sdk/middleware-signing";
5
+ import { getRegionRedirectMiddlewarePlugin, getS3ExpressHttpSigningPlugin, getS3ExpressPlugin, getValidateBucketNamePlugin, resolveS3Config, } from "@aws-sdk/middleware-sdk-s3";
7
6
  import { getUserAgentPlugin, resolveUserAgentConfig, } from "@aws-sdk/middleware-user-agent";
8
7
  import { resolveRegionConfig } from "@smithy/config-resolver";
8
+ import { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from "@smithy/core";
9
9
  import { resolveEventStreamSerdeConfig, } from "@smithy/eventstream-serde-config-resolver";
10
10
  import { getContentLengthPlugin } from "@smithy/middleware-content-length";
11
11
  import { resolveEndpointConfig } from "@smithy/middleware-endpoint";
12
12
  import { getRetryPlugin, resolveRetryConfig } from "@smithy/middleware-retry";
13
13
  import { Client as __Client, } from "@smithy/smithy-client";
14
+ import { defaultS3HttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider";
14
15
  import { CreateSessionCommand, } from "./commands/CreateSessionCommand";
15
16
  import { resolveClientEndpointParameters, } from "./endpoint/EndpointParameters";
16
17
  import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
@@ -25,9 +26,9 @@ export class S3Client extends __Client {
25
26
  const _config_4 = resolveRegionConfig(_config_3);
26
27
  const _config_5 = resolveHostHeaderConfig(_config_4);
27
28
  const _config_6 = resolveEndpointConfig(_config_5);
28
- const _config_7 = resolveAwsAuthConfig(_config_6);
29
- const _config_8 = resolveS3Config(_config_7, { session: [() => this, CreateSessionCommand] });
30
- const _config_9 = resolveEventStreamSerdeConfig(_config_8);
29
+ const _config_7 = resolveEventStreamSerdeConfig(_config_6);
30
+ const _config_8 = resolveHttpAuthSchemeConfig(_config_7);
31
+ const _config_9 = resolveS3Config(_config_8, { session: [() => this, CreateSessionCommand] });
31
32
  const _config_10 = resolveRuntimeExtensions(_config_9, configuration?.extensions || []);
32
33
  super(_config_10);
33
34
  this.config = _config_10;
@@ -37,11 +38,19 @@ export class S3Client extends __Client {
37
38
  this.middlewareStack.use(getHostHeaderPlugin(this.config));
38
39
  this.middlewareStack.use(getLoggerPlugin(this.config));
39
40
  this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
40
- this.middlewareStack.use(getAwsAuthPlugin(this.config));
41
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
42
+ httpAuthSchemeParametersProvider: defaultS3HttpAuthSchemeParametersProvider,
43
+ identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({
44
+ "aws.auth#sigv4": config.credentials,
45
+ "aws.auth#sigv4a": config.credentials,
46
+ }),
47
+ }));
48
+ this.middlewareStack.use(getHttpSigningPlugin(this.config));
41
49
  this.middlewareStack.use(getValidateBucketNamePlugin(this.config));
42
50
  this.middlewareStack.use(getAddExpectContinuePlugin(this.config));
43
51
  this.middlewareStack.use(getRegionRedirectMiddlewarePlugin(this.config));
44
52
  this.middlewareStack.use(getS3ExpressPlugin(this.config));
53
+ this.middlewareStack.use(getS3ExpressHttpSigningPlugin(this.config));
45
54
  }
46
55
  destroy() {
47
56
  super.destroy();
@@ -0,0 +1,38 @@
1
+ export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {
2
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
3
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
4
+ let _credentials = runtimeConfig.credentials;
5
+ return {
6
+ setHttpAuthScheme(httpAuthScheme) {
7
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
8
+ if (index === -1) {
9
+ _httpAuthSchemes.push(httpAuthScheme);
10
+ }
11
+ else {
12
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
13
+ }
14
+ },
15
+ httpAuthSchemes() {
16
+ return _httpAuthSchemes;
17
+ },
18
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
19
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
20
+ },
21
+ httpAuthSchemeProvider() {
22
+ return _httpAuthSchemeProvider;
23
+ },
24
+ setCredentials(credentials) {
25
+ _credentials = credentials;
26
+ },
27
+ credentials() {
28
+ return _credentials;
29
+ },
30
+ };
31
+ };
32
+ export const resolveHttpAuthRuntimeConfig = (config) => {
33
+ return {
34
+ httpAuthSchemes: config.httpAuthSchemes(),
35
+ httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
36
+ credentials: config.credentials(),
37
+ };
38
+ };
@@ -0,0 +1,122 @@
1
+ import { resolveAwsSdkSigV4Config, } from "@aws-sdk/core";
2
+ import { signatureV4CrtContainer } from "@aws-sdk/signature-v4-multi-region";
3
+ import { resolveParams } from "@smithy/middleware-endpoint";
4
+ import { getSmithyContext, normalizeProvider } from "@smithy/util-middleware";
5
+ import { defaultEndpointResolver } from "../endpoint/endpointResolver";
6
+ const createEndpointRuleSetHttpAuthSchemeParametersProvider = (defaultHttpAuthSchemeParametersProvider) => async (config, context, input) => {
7
+ if (!input) {
8
+ throw new Error(`Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\``);
9
+ }
10
+ const defaultParameters = await defaultHttpAuthSchemeParametersProvider(config, context, input);
11
+ const instructionsFn = getSmithyContext(context)?.commandInstance?.constructor
12
+ ?.getEndpointParameterInstructions;
13
+ if (!instructionsFn) {
14
+ throw new Error(`getEndpointParameterInstructions() is not defined on \`${context.commandName}\``);
15
+ }
16
+ const endpointParameters = await resolveParams(input, { getEndpointParameterInstructions: instructionsFn }, config);
17
+ return Object.assign(defaultParameters, endpointParameters);
18
+ };
19
+ const _defaultS3HttpAuthSchemeParametersProvider = async (config, context, input) => {
20
+ return {
21
+ operation: getSmithyContext(context).operation,
22
+ region: (await normalizeProvider(config.region)()) ||
23
+ (() => {
24
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
25
+ })(),
26
+ };
27
+ };
28
+ export const defaultS3HttpAuthSchemeParametersProvider = createEndpointRuleSetHttpAuthSchemeParametersProvider(_defaultS3HttpAuthSchemeParametersProvider);
29
+ function createAwsAuthSigv4HttpAuthOption(authParameters) {
30
+ return {
31
+ schemeId: "aws.auth#sigv4",
32
+ signingProperties: {
33
+ name: "s3",
34
+ region: authParameters.region,
35
+ },
36
+ propertiesExtractor: (config, context) => ({
37
+ signingProperties: {
38
+ config,
39
+ context,
40
+ },
41
+ }),
42
+ };
43
+ }
44
+ function createAwsAuthSigv4aHttpAuthOption(authParameters) {
45
+ return {
46
+ schemeId: "aws.auth#sigv4a",
47
+ signingProperties: {
48
+ name: "s3",
49
+ region: authParameters.region,
50
+ },
51
+ propertiesExtractor: (config, context) => ({
52
+ signingProperties: {
53
+ config,
54
+ context,
55
+ },
56
+ }),
57
+ };
58
+ }
59
+ const createEndpointRuleSetHttpAuthSchemeProvider = (defaultEndpointResolver, defaultHttpAuthSchemeResolver, createHttpAuthOptionFunctions) => {
60
+ const endpointRuleSetHttpAuthSchemeProvider = (authParameters) => {
61
+ const endpoint = defaultEndpointResolver(authParameters);
62
+ const authSchemes = endpoint.properties?.authSchemes;
63
+ if (!authSchemes) {
64
+ return defaultHttpAuthSchemeResolver(authParameters);
65
+ }
66
+ const options = [];
67
+ for (const scheme of authSchemes) {
68
+ const { name: resolvedName, properties = {}, ...rest } = scheme;
69
+ const name = resolvedName.toLowerCase();
70
+ if (resolvedName !== name) {
71
+ console.warn(`HttpAuthScheme has been normalized with lowercasing: \`${resolvedName}\` to \`${name}\``);
72
+ }
73
+ let schemeId;
74
+ if (name === "sigv4a") {
75
+ schemeId = "aws.auth#sigv4a";
76
+ const sigv4Present = authSchemes.find((s) => {
77
+ const name = s.name.toLowerCase();
78
+ return name !== "sigv4a" && name.startsWith("sigv4");
79
+ });
80
+ if (!signatureV4CrtContainer.CrtSignerV4 && sigv4Present) {
81
+ continue;
82
+ }
83
+ }
84
+ else if (name.startsWith("sigv4")) {
85
+ schemeId = "aws.auth#sigv4";
86
+ }
87
+ else {
88
+ throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${name}\``);
89
+ }
90
+ const createOption = createHttpAuthOptionFunctions[schemeId];
91
+ if (!createOption) {
92
+ throw new Error(`Could not find HttpAuthOption create function for \`${schemeId}\``);
93
+ }
94
+ const option = createOption(authParameters);
95
+ option.schemeId = schemeId;
96
+ option.signingProperties = { ...(option.signingProperties || {}), ...rest, ...properties };
97
+ options.push(option);
98
+ }
99
+ return options;
100
+ };
101
+ return endpointRuleSetHttpAuthSchemeProvider;
102
+ };
103
+ const _defaultS3HttpAuthSchemeProvider = (authParameters) => {
104
+ const options = [];
105
+ switch (authParameters.operation) {
106
+ default: {
107
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
108
+ options.push(createAwsAuthSigv4aHttpAuthOption(authParameters));
109
+ }
110
+ }
111
+ return options;
112
+ };
113
+ export const defaultS3HttpAuthSchemeProvider = createEndpointRuleSetHttpAuthSchemeProvider(defaultEndpointResolver, _defaultS3HttpAuthSchemeProvider, {
114
+ "aws.auth#sigv4": createAwsAuthSigv4HttpAuthOption,
115
+ "aws.auth#sigv4a": createAwsAuthSigv4aHttpAuthOption,
116
+ });
117
+ export const resolveHttpAuthSchemeConfig = (config) => {
118
+ const config_0 = resolveAwsSdkSigV4Config(config);
119
+ return {
120
+ ...config_0,
121
+ };
122
+ };
@@ -1,9 +1,11 @@
1
+ import { AwsSdkSigV4ASigner, AwsSdkSigV4Signer } from "@aws-sdk/core";
1
2
  import { SignatureV4MultiRegion } from "@aws-sdk/signature-v4-multi-region";
2
3
  import { NoOpLogger } from "@smithy/smithy-client";
3
4
  import { parseUrl } from "@smithy/url-parser";
4
5
  import { fromBase64, toBase64 } from "@smithy/util-base64";
5
6
  import { getAwsChunkedEncodingStream, sdkStreamMixin } from "@smithy/util-stream";
6
7
  import { fromUtf8, toUtf8 } from "@smithy/util-utf8";
8
+ import { defaultS3HttpAuthSchemeProvider } from "./auth/httpAuthSchemeProvider";
7
9
  import { defaultEndpointResolver } from "./endpoint/endpointResolver";
8
10
  export const getRuntimeConfig = (config) => {
9
11
  return {
@@ -14,6 +16,19 @@ export const getRuntimeConfig = (config) => {
14
16
  endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,
15
17
  extensions: config?.extensions ?? [],
16
18
  getAwsChunkedEncodingStream: config?.getAwsChunkedEncodingStream ?? getAwsChunkedEncodingStream,
19
+ httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultS3HttpAuthSchemeProvider,
20
+ httpAuthSchemes: config?.httpAuthSchemes ?? [
21
+ {
22
+ schemeId: "aws.auth#sigv4",
23
+ identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
24
+ signer: new AwsSdkSigV4Signer(),
25
+ },
26
+ {
27
+ schemeId: "aws.auth#sigv4a",
28
+ identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4a"),
29
+ signer: new AwsSdkSigV4ASigner(),
30
+ },
31
+ ],
17
32
  logger: config?.logger ?? new NoOpLogger(),
18
33
  sdkStreamMixin: config?.sdkStreamMixin ?? sdkStreamMixin,
19
34
  serviceId: config?.serviceId ?? "S3",