@cdk8s/awscdk-resolver 0.0.600 → 0.0.601
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/lib/resolve.js +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/auth/httpAuthSchemeProvider.js +9 -15
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/endpoint/bdd.js +2 -5
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/endpoint/endpointResolver.js +7 -11
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js +449 -469
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/models/CloudFormationServiceException.js +4 -8
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/models/errors.js +59 -91
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/runtimeConfig.browser.js +22 -26
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/runtimeConfig.js +30 -34
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/runtimeConfig.native.js +4 -7
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/runtimeConfig.shared.js +20 -24
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/schemas/schemas_0.js +814 -533
- package/node_modules/@aws-sdk/client-cloudformation/package.json +8 -8
- package/node_modules/@aws-sdk/core/dist-cjs/index.js +45 -50
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/account-id-endpoint/index.js +2 -4
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.browser.js +21 -22
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +51 -51
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.native.js +21 -22
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +19 -21
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +107 -109
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/util/index.js +2 -4
- package/node_modules/@aws-sdk/core/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +4 -6
- package/node_modules/@aws-sdk/credential-provider-env/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js +3 -7
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.browser.js +12 -16
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js +16 -21
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js +14 -18
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js +1 -5
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.browser.js +2 -5
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js +2 -7
- package/node_modules/@aws-sdk/credential-provider-http/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +47 -41
- package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js +8 -4
- package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js +14 -10
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
- package/node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js +31 -33
- package/node_modules/@aws-sdk/credential-provider-login/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +16 -18
- package/node_modules/@aws-sdk/credential-provider-node/package.json +11 -11
- package/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +11 -13
- package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +22 -24
- package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BGYXHf8s.js +3 -0
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js +10 -14
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js +2 -6
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +3 -27
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -7
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/index.js +0 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +82 -84
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +158 -119
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +80 -82
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +80 -82
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +99 -101
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenCommand.js +4 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/bdd.js +70 -35
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/enums.js +3 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/endpoint/EndpointParameters.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/enums.d.ts +12 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/endpoint/EndpointParameters.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/models/enums.d.ts +3 -0
- package/node_modules/@aws-sdk/nested-clients/package.json +9 -8
- package/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +4 -6
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +5 -5
- package/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +26 -28
- package/node_modules/@aws-sdk/token-providers/package.json +7 -7
- package/node_modules/@aws-sdk/types/dist-cjs/index.js +7 -8
- package/node_modules/@aws-sdk/types/package.json +4 -4
- package/node_modules/@aws-sdk/util-locate-window/dist-cjs/index.js +0 -2
- package/node_modules/@aws-sdk/util-locate-window/package.json +4 -4
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +2 -4
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-external/nodable_entities.js +4 -7
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.browser.js +2 -5
- package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +7 -10
- package/node_modules/@aws-sdk/xml-builder/package.json +4 -4
- package/node_modules/@smithy/core/dist-cjs/index.js +13 -15
- package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +29 -31
- package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.browser.js +2 -4
- package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.js +7 -9
- package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.native.js +3 -5
- package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +22 -23
- package/node_modules/@smithy/core/dist-cjs/submodules/config/index.browser.js +10 -11
- package/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +38 -39
- package/node_modules/@smithy/core/dist-cjs/submodules/config/index.native.js +10 -11
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +14 -17
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +20 -23
- package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.browser.js +9 -11
- package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +11 -13
- package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +59 -60
- package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.browser.js +23 -24
- package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +25 -26
- package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +5 -7
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +4 -6
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +23 -25
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +4 -6
- package/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +2 -4
- package/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +1 -1
- package/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/httpSigningMiddleware.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/cbor/SmithyRpcV2CborProtocol.js +1 -1
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/endpointMiddleware.js +1 -1
- package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +1 -1
- package/node_modules/@smithy/core/package.json +7 -6
- package/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +23 -24
- package/node_modules/@smithy/credential-provider-imds/package.json +6 -6
- package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +6 -8
- package/node_modules/@smithy/fetch-http-handler/package.json +7 -7
- package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +11 -13
- package/node_modules/@smithy/node-http-handler/package.json +7 -7
- package/node_modules/@smithy/signature-v4/dist-cjs/index.js +27 -29
- package/node_modules/@smithy/signature-v4/package.json +6 -6
- package/node_modules/@smithy/types/dist-cjs/index.js +23 -18
- package/node_modules/@smithy/types/package.json +4 -4
- package/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BKDNrsal.js +0 -8
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var client = require('@smithy/core/client');
|
|
9
|
-
var transport = require('@smithy/core/transport');
|
|
1
|
+
const { homedir } = require("node:os");
|
|
2
|
+
const { sep, join } = require("node:path");
|
|
3
|
+
const { createHash } = require("node:crypto");
|
|
4
|
+
const { readFile: readFile$1 } = require("node:fs/promises");
|
|
5
|
+
const { IniSectionType } = require("@smithy/types");
|
|
6
|
+
const { normalizeProvider } = require("@smithy/core/client");
|
|
7
|
+
const { isValidHostLabel } = require("@smithy/core/transport");
|
|
10
8
|
|
|
11
9
|
class ProviderError extends Error {
|
|
12
10
|
name = "ProviderError";
|
|
@@ -137,11 +135,11 @@ const numberSelector = (obj, key, type) => {
|
|
|
137
135
|
return numberValue;
|
|
138
136
|
};
|
|
139
137
|
|
|
140
|
-
|
|
138
|
+
var SelectorType;
|
|
141
139
|
(function (SelectorType) {
|
|
142
140
|
SelectorType["ENV"] = "env";
|
|
143
141
|
SelectorType["CONFIG"] = "shared config entry";
|
|
144
|
-
})(
|
|
142
|
+
})(SelectorType || (SelectorType = {}));
|
|
145
143
|
|
|
146
144
|
const homeDirCache = {};
|
|
147
145
|
const getHomeDirCacheKey = () => {
|
|
@@ -151,7 +149,7 @@ const getHomeDirCacheKey = () => {
|
|
|
151
149
|
return "DEFAULT";
|
|
152
150
|
};
|
|
153
151
|
const getHomeDir = () => {
|
|
154
|
-
const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${
|
|
152
|
+
const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${sep}` } = process.env;
|
|
155
153
|
if (HOME)
|
|
156
154
|
return HOME;
|
|
157
155
|
if (USERPROFILE)
|
|
@@ -160,7 +158,7 @@ const getHomeDir = () => {
|
|
|
160
158
|
return `${HOMEDRIVE}${HOMEPATH}`;
|
|
161
159
|
const homeDirCacheKey = getHomeDirCacheKey();
|
|
162
160
|
if (!homeDirCache[homeDirCacheKey])
|
|
163
|
-
homeDirCache[homeDirCacheKey] =
|
|
161
|
+
homeDirCache[homeDirCacheKey] = homedir();
|
|
164
162
|
return homeDirCache[homeDirCacheKey];
|
|
165
163
|
};
|
|
166
164
|
|
|
@@ -169,9 +167,9 @@ const DEFAULT_PROFILE = "default";
|
|
|
169
167
|
const getProfileName = (init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE;
|
|
170
168
|
|
|
171
169
|
const getSSOTokenFilepath = (id) => {
|
|
172
|
-
const hasher =
|
|
170
|
+
const hasher = createHash("sha1");
|
|
173
171
|
const cacheName = hasher.update(id).digest("hex");
|
|
174
|
-
return
|
|
172
|
+
return join(getHomeDir(), ".aws", "sso", "cache", `${cacheName}.json`);
|
|
175
173
|
};
|
|
176
174
|
|
|
177
175
|
const tokenIntercept = {};
|
|
@@ -180,7 +178,7 @@ const getSSOTokenFromFile = async (id) => {
|
|
|
180
178
|
return tokenIntercept[id];
|
|
181
179
|
}
|
|
182
180
|
const ssoTokenFilepath = getSSOTokenFilepath(id);
|
|
183
|
-
const ssoTokenText = await
|
|
181
|
+
const ssoTokenText = await readFile$1(ssoTokenFilepath, "utf8");
|
|
184
182
|
return JSON.parse(ssoTokenText);
|
|
185
183
|
};
|
|
186
184
|
|
|
@@ -192,11 +190,11 @@ const getConfigData = (data) => Object.entries(data)
|
|
|
192
190
|
if (indexOfSeparator === -1) {
|
|
193
191
|
return false;
|
|
194
192
|
}
|
|
195
|
-
return Object.values(
|
|
193
|
+
return Object.values(IniSectionType).includes(key.substring(0, indexOfSeparator));
|
|
196
194
|
})
|
|
197
195
|
.reduce((acc, [key, value]) => {
|
|
198
196
|
const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);
|
|
199
|
-
const updatedKey = key.substring(0, indexOfSeparator) ===
|
|
197
|
+
const updatedKey = key.substring(0, indexOfSeparator) === IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;
|
|
200
198
|
acc[updatedKey] = value;
|
|
201
199
|
return acc;
|
|
202
200
|
}, {
|
|
@@ -204,10 +202,10 @@ const getConfigData = (data) => Object.entries(data)
|
|
|
204
202
|
});
|
|
205
203
|
|
|
206
204
|
const ENV_CONFIG_PATH = "AWS_CONFIG_FILE";
|
|
207
|
-
const getConfigFilepath = () => process.env[ENV_CONFIG_PATH] ||
|
|
205
|
+
const getConfigFilepath = () => process.env[ENV_CONFIG_PATH] || join(getHomeDir(), ".aws", "config");
|
|
208
206
|
|
|
209
207
|
const ENV_CREDENTIALS_PATH = "AWS_SHARED_CREDENTIALS_FILE";
|
|
210
|
-
const getCredentialsFilepath = () => process.env[ENV_CREDENTIALS_PATH] ||
|
|
208
|
+
const getCredentialsFilepath = () => process.env[ENV_CREDENTIALS_PATH] || join(getHomeDir(), ".aws", "credentials");
|
|
211
209
|
|
|
212
210
|
const prefixKeyRegex = /^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/;
|
|
213
211
|
const profileNameBlockList = ["__proto__", "profile __proto__"];
|
|
@@ -225,7 +223,7 @@ const parseIni = (iniData) => {
|
|
|
225
223
|
const matches = prefixKeyRegex.exec(sectionName);
|
|
226
224
|
if (matches) {
|
|
227
225
|
const [, prefix, , name] = matches;
|
|
228
|
-
if (Object.values(
|
|
226
|
+
if (Object.values(IniSectionType).includes(prefix)) {
|
|
229
227
|
currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR);
|
|
230
228
|
}
|
|
231
229
|
}
|
|
@@ -267,7 +265,7 @@ const readFile = (path, options) => {
|
|
|
267
265
|
return fileIntercept[path];
|
|
268
266
|
}
|
|
269
267
|
if (!filePromises[path] || options?.ignoreCache) {
|
|
270
|
-
filePromises[path] =
|
|
268
|
+
filePromises[path] = readFile$1(path, "utf8");
|
|
271
269
|
}
|
|
272
270
|
return filePromises[path];
|
|
273
271
|
};
|
|
@@ -279,11 +277,11 @@ const loadSharedConfigFiles = async (init = {}) => {
|
|
|
279
277
|
const relativeHomeDirPrefix = "~/";
|
|
280
278
|
let resolvedFilepath = filepath;
|
|
281
279
|
if (filepath.startsWith(relativeHomeDirPrefix)) {
|
|
282
|
-
resolvedFilepath =
|
|
280
|
+
resolvedFilepath = join(homeDir, filepath.slice(2));
|
|
283
281
|
}
|
|
284
282
|
let resolvedConfigFilepath = configFilepath;
|
|
285
283
|
if (configFilepath.startsWith(relativeHomeDirPrefix)) {
|
|
286
|
-
resolvedConfigFilepath =
|
|
284
|
+
resolvedConfigFilepath = join(homeDir, configFilepath.slice(2));
|
|
287
285
|
}
|
|
288
286
|
const parsedFiles = await Promise.all([
|
|
289
287
|
readFile(resolvedConfigFilepath, {
|
|
@@ -305,7 +303,7 @@ const loadSharedConfigFiles = async (init = {}) => {
|
|
|
305
303
|
};
|
|
306
304
|
|
|
307
305
|
const getSsoSessionData = (data) => Object.entries(data)
|
|
308
|
-
.filter(([key]) => key.startsWith(
|
|
306
|
+
.filter(([key]) => key.startsWith(IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR))
|
|
309
307
|
.reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {});
|
|
310
308
|
|
|
311
309
|
const swallowError = () => ({});
|
|
@@ -409,13 +407,13 @@ const ENV_USE_DUALSTACK_ENDPOINT = "AWS_USE_DUALSTACK_ENDPOINT";
|
|
|
409
407
|
const CONFIG_USE_DUALSTACK_ENDPOINT = "use_dualstack_endpoint";
|
|
410
408
|
const DEFAULT_USE_DUALSTACK_ENDPOINT = false;
|
|
411
409
|
const NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {
|
|
412
|
-
environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT,
|
|
413
|
-
configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT,
|
|
410
|
+
environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV),
|
|
411
|
+
configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG),
|
|
414
412
|
default: false,
|
|
415
413
|
};
|
|
416
414
|
const nodeDualstackConfigSelectors = {
|
|
417
|
-
environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT,
|
|
418
|
-
configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT,
|
|
415
|
+
environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV),
|
|
416
|
+
configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG),
|
|
419
417
|
default: undefined,
|
|
420
418
|
};
|
|
421
419
|
|
|
@@ -423,13 +421,13 @@ const ENV_USE_FIPS_ENDPOINT = "AWS_USE_FIPS_ENDPOINT";
|
|
|
423
421
|
const CONFIG_USE_FIPS_ENDPOINT = "use_fips_endpoint";
|
|
424
422
|
const DEFAULT_USE_FIPS_ENDPOINT = false;
|
|
425
423
|
const NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {
|
|
426
|
-
environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT,
|
|
427
|
-
configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT,
|
|
424
|
+
environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV),
|
|
425
|
+
configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG),
|
|
428
426
|
default: false,
|
|
429
427
|
};
|
|
430
428
|
const nodeFipsConfigSelectors = {
|
|
431
|
-
environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT,
|
|
432
|
-
configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT,
|
|
429
|
+
environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV),
|
|
430
|
+
configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG),
|
|
433
431
|
default: undefined,
|
|
434
432
|
};
|
|
435
433
|
|
|
@@ -437,9 +435,9 @@ const resolveCustomEndpointsConfig = (input) => {
|
|
|
437
435
|
const { tls, endpoint, urlParser, useDualstackEndpoint } = input;
|
|
438
436
|
return Object.assign(input, {
|
|
439
437
|
tls: tls ?? true,
|
|
440
|
-
endpoint:
|
|
438
|
+
endpoint: normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint),
|
|
441
439
|
isCustomEndpoint: true,
|
|
442
|
-
useDualstackEndpoint:
|
|
440
|
+
useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),
|
|
443
441
|
});
|
|
444
442
|
};
|
|
445
443
|
|
|
@@ -460,12 +458,12 @@ const getEndpointFromRegion = async (input) => {
|
|
|
460
458
|
};
|
|
461
459
|
|
|
462
460
|
const resolveEndpointsConfig = (input) => {
|
|
463
|
-
const useDualstackEndpoint =
|
|
461
|
+
const useDualstackEndpoint = normalizeProvider(input.useDualstackEndpoint ?? false);
|
|
464
462
|
const { endpoint, useFipsEndpoint, urlParser, tls } = input;
|
|
465
463
|
return Object.assign(input, {
|
|
466
464
|
tls: tls ?? true,
|
|
467
465
|
endpoint: endpoint
|
|
468
|
-
?
|
|
466
|
+
? normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint)
|
|
469
467
|
: () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),
|
|
470
468
|
isCustomEndpoint: !!endpoint,
|
|
471
469
|
useDualstackEndpoint,
|
|
@@ -486,7 +484,7 @@ const NODE_REGION_CONFIG_FILE_OPTIONS = {
|
|
|
486
484
|
};
|
|
487
485
|
|
|
488
486
|
const validRegions = new Set();
|
|
489
|
-
const checkRegion = (region, check =
|
|
487
|
+
const checkRegion = (region, check = isValidHostLabel) => {
|
|
490
488
|
if (!validRegions.has(region) && !check(region)) {
|
|
491
489
|
if (region === "*") {
|
|
492
490
|
console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);
|
|
@@ -657,7 +655,7 @@ const getImdsEndpoint = async () => {
|
|
|
657
655
|
return { hostname: "169.254.169.254", path: "/" };
|
|
658
656
|
};
|
|
659
657
|
const imdsHttpGet = async ({ hostname, path }) => {
|
|
660
|
-
const { request } =
|
|
658
|
+
const { request } = require('node:http');
|
|
661
659
|
return new Promise((resolve, reject) => {
|
|
662
660
|
const req = request({
|
|
663
661
|
method: "GET",
|
|
@@ -709,6 +707,7 @@ exports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = NODE_USE_FIPS_ENDPOINT_CONFIG_OP
|
|
|
709
707
|
exports.ProviderError = ProviderError;
|
|
710
708
|
exports.REGION_ENV_NAME = REGION_ENV_NAME;
|
|
711
709
|
exports.REGION_INI_NAME = REGION_INI_NAME;
|
|
710
|
+
exports.SelectorType = SelectorType;
|
|
712
711
|
exports.TokenProviderError = TokenProviderError;
|
|
713
712
|
exports.booleanSelector = booleanSelector;
|
|
714
713
|
exports.chain = chain;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var client = require('@smithy/core/client');
|
|
4
|
-
var transport = require('@smithy/core/transport');
|
|
1
|
+
const { normalizeProvider } = require("@smithy/core/client");
|
|
2
|
+
const { isValidHostLabel } = require("@smithy/core/transport");
|
|
5
3
|
|
|
6
4
|
class ProviderError extends Error {
|
|
7
5
|
name = "ProviderError";
|
|
@@ -132,19 +130,19 @@ const numberSelector = (obj, key, type) => {
|
|
|
132
130
|
return numberValue;
|
|
133
131
|
};
|
|
134
132
|
|
|
135
|
-
|
|
133
|
+
var SelectorType;
|
|
136
134
|
(function (SelectorType) {
|
|
137
135
|
SelectorType["ENV"] = "env";
|
|
138
136
|
SelectorType["CONFIG"] = "shared config entry";
|
|
139
|
-
})(
|
|
137
|
+
})(SelectorType || (SelectorType = {}));
|
|
140
138
|
|
|
141
139
|
const resolveCustomEndpointsConfig = (input) => {
|
|
142
140
|
const { tls, endpoint, urlParser, useDualstackEndpoint } = input;
|
|
143
141
|
return Object.assign(input, {
|
|
144
142
|
tls: tls ?? true,
|
|
145
|
-
endpoint:
|
|
143
|
+
endpoint: normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint),
|
|
146
144
|
isCustomEndpoint: true,
|
|
147
|
-
useDualstackEndpoint:
|
|
145
|
+
useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),
|
|
148
146
|
});
|
|
149
147
|
};
|
|
150
148
|
|
|
@@ -165,12 +163,12 @@ const getEndpointFromRegion = async (input) => {
|
|
|
165
163
|
};
|
|
166
164
|
|
|
167
165
|
const resolveEndpointsConfig = (input) => {
|
|
168
|
-
const useDualstackEndpoint =
|
|
166
|
+
const useDualstackEndpoint = normalizeProvider(input.useDualstackEndpoint ?? false);
|
|
169
167
|
const { endpoint, useFipsEndpoint, urlParser, tls } = input;
|
|
170
168
|
return Object.assign(input, {
|
|
171
169
|
tls: tls ?? true,
|
|
172
170
|
endpoint: endpoint
|
|
173
|
-
?
|
|
171
|
+
? normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint)
|
|
174
172
|
: () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),
|
|
175
173
|
isCustomEndpoint: !!endpoint,
|
|
176
174
|
useDualstackEndpoint,
|
|
@@ -178,7 +176,7 @@ const resolveEndpointsConfig = (input) => {
|
|
|
178
176
|
};
|
|
179
177
|
|
|
180
178
|
const validRegions = new Set();
|
|
181
|
-
const checkRegion = (region, check =
|
|
179
|
+
const checkRegion = (region, check = isValidHostLabel) => {
|
|
182
180
|
if (!validRegions.has(region) && !check(region)) {
|
|
183
181
|
if (region === "*") {
|
|
184
182
|
console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);
|
|
@@ -338,6 +336,7 @@ exports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = NODE_USE_FIPS_ENDPOINT_CONFIG_OP
|
|
|
338
336
|
exports.ProviderError = ProviderError;
|
|
339
337
|
exports.REGION_ENV_NAME = REGION_ENV_NAME;
|
|
340
338
|
exports.REGION_INI_NAME = REGION_INI_NAME;
|
|
339
|
+
exports.SelectorType = SelectorType;
|
|
341
340
|
exports.TokenProviderError = TokenProviderError;
|
|
342
341
|
exports.booleanSelector = booleanSelector;
|
|
343
342
|
exports.chain = chain;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
const { toEndpointV1, getSmithyContext, normalizeProvider, isValidHostLabel } = require("@smithy/core/transport");
|
|
2
|
+
exports.isValidHostLabel = isValidHostLabel;
|
|
3
|
+
exports.middlewareEndpointToEndpointV1 = toEndpointV1;
|
|
4
|
+
exports.toEndpointV1 = toEndpointV1;
|
|
5
|
+
const { EndpointURLScheme } = require("@smithy/types");
|
|
6
6
|
|
|
7
7
|
const getEndpointFromConfig = async (serviceId) => undefined;
|
|
8
8
|
|
|
@@ -104,7 +104,7 @@ function bindGetEndpointFromInstructions(getEndpointFromConfig) {
|
|
|
104
104
|
endpointFromConfig = await getEndpointFromConfig(clientConfig.serviceId);
|
|
105
105
|
}
|
|
106
106
|
if (endpointFromConfig) {
|
|
107
|
-
clientConfig.endpoint = () => Promise.resolve(
|
|
107
|
+
clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));
|
|
108
108
|
clientConfig.isCustomEndpoint = true;
|
|
109
109
|
}
|
|
110
110
|
}
|
|
@@ -183,7 +183,7 @@ function bindEndpointMiddleware(getEndpointFromConfig) {
|
|
|
183
183
|
if (authScheme) {
|
|
184
184
|
context["signing_region"] = authScheme.signingRegion;
|
|
185
185
|
context["signing_service"] = authScheme.signingName;
|
|
186
|
-
const smithyContext =
|
|
186
|
+
const smithyContext = getSmithyContext(context);
|
|
187
187
|
const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;
|
|
188
188
|
if (httpAuthOption) {
|
|
189
189
|
httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {
|
|
@@ -228,14 +228,14 @@ function bindResolveEndpointConfig(getEndpointFromConfig) {
|
|
|
228
228
|
return (input) => {
|
|
229
229
|
const tls = input.tls ?? true;
|
|
230
230
|
const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;
|
|
231
|
-
const customEndpointProvider = endpoint != null ? async () =>
|
|
231
|
+
const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : undefined;
|
|
232
232
|
const isCustomEndpoint = !!endpoint;
|
|
233
233
|
const resolvedConfig = Object.assign(input, {
|
|
234
234
|
endpoint: customEndpointProvider,
|
|
235
235
|
tls,
|
|
236
236
|
isCustomEndpoint,
|
|
237
|
-
useDualstackEndpoint:
|
|
238
|
-
useFipsEndpoint:
|
|
237
|
+
useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),
|
|
238
|
+
useFipsEndpoint: normalizeProvider(useFipsEndpoint ?? false),
|
|
239
239
|
});
|
|
240
240
|
let configuredEndpointPromise = undefined;
|
|
241
241
|
resolvedConfig.serviceConfiguredEndpoint = async () => {
|
|
@@ -398,8 +398,8 @@ const IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\
|
|
|
398
398
|
const isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith("[") && value.endsWith("]"));
|
|
399
399
|
|
|
400
400
|
const DEFAULT_PORTS = {
|
|
401
|
-
[
|
|
402
|
-
[
|
|
401
|
+
[EndpointURLScheme.HTTP]: 80,
|
|
402
|
+
[EndpointURLScheme.HTTPS]: 443,
|
|
403
403
|
};
|
|
404
404
|
const parseURL = (value) => {
|
|
405
405
|
const whatwgURL = (() => {
|
|
@@ -431,7 +431,7 @@ const parseURL = (value) => {
|
|
|
431
431
|
return null;
|
|
432
432
|
}
|
|
433
433
|
const scheme = protocol.slice(0, -1);
|
|
434
|
-
if (!Object.values(
|
|
434
|
+
if (!Object.values(EndpointURLScheme).includes(scheme)) {
|
|
435
435
|
return null;
|
|
436
436
|
}
|
|
437
437
|
const isIp = isIpAddress(hostname);
|
|
@@ -480,7 +480,7 @@ const endpointFunctions = {
|
|
|
480
480
|
coalesce,
|
|
481
481
|
getAttr,
|
|
482
482
|
isSet,
|
|
483
|
-
isValidHostLabel
|
|
483
|
+
isValidHostLabel,
|
|
484
484
|
ite,
|
|
485
485
|
not,
|
|
486
486
|
parseURL,
|
|
@@ -810,9 +810,6 @@ const resolveEndpointConfig = bindResolveEndpointConfig(getEndpointFromConfig);
|
|
|
810
810
|
const endpointMiddleware = bindEndpointMiddleware(getEndpointFromConfig);
|
|
811
811
|
const getEndpointPlugin = bindGetEndpointPlugin(getEndpointFromConfig);
|
|
812
812
|
|
|
813
|
-
exports.isValidHostLabel = transport.isValidHostLabel;
|
|
814
|
-
exports.middlewareEndpointToEndpointV1 = transport.toEndpointV1;
|
|
815
|
-
exports.toEndpointV1 = transport.toEndpointV1;
|
|
816
813
|
exports.BinaryDecisionDiagram = BinaryDecisionDiagram;
|
|
817
814
|
exports.EndpointCache = EndpointCache;
|
|
818
815
|
exports.EndpointError = EndpointError;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
const { CONFIG_PREFIX_SEPARATOR, loadConfig } = require("@smithy/core/config");
|
|
2
|
+
const { toEndpointV1, getSmithyContext, normalizeProvider, isValidHostLabel } = require("@smithy/core/transport");
|
|
3
|
+
exports.isValidHostLabel = isValidHostLabel;
|
|
4
|
+
exports.middlewareEndpointToEndpointV1 = toEndpointV1;
|
|
5
|
+
exports.toEndpointV1 = toEndpointV1;
|
|
6
|
+
const { EndpointURLScheme } = require("@smithy/types");
|
|
7
7
|
|
|
8
8
|
const ENV_ENDPOINT_URL = "AWS_ENDPOINT_URL";
|
|
9
9
|
const CONFIG_ENDPOINT_URL = "endpoint_url";
|
|
@@ -18,12 +18,12 @@ const getEndpointUrlConfig = (serviceId) => ({
|
|
|
18
18
|
return endpointUrl;
|
|
19
19
|
return undefined;
|
|
20
20
|
},
|
|
21
|
-
configFileSelector: (profile, config
|
|
22
|
-
if (config
|
|
23
|
-
const servicesSection = config
|
|
21
|
+
configFileSelector: (profile, config) => {
|
|
22
|
+
if (config && profile.services) {
|
|
23
|
+
const servicesSection = config[["services", profile.services].join(CONFIG_PREFIX_SEPARATOR)];
|
|
24
24
|
if (servicesSection) {
|
|
25
25
|
const servicePrefixParts = serviceId.split(" ").map((w) => w.toLowerCase());
|
|
26
|
-
const endpointUrl = servicesSection[[servicePrefixParts.join("_"), CONFIG_ENDPOINT_URL].join(
|
|
26
|
+
const endpointUrl = servicesSection[[servicePrefixParts.join("_"), CONFIG_ENDPOINT_URL].join(CONFIG_PREFIX_SEPARATOR)];
|
|
27
27
|
if (endpointUrl)
|
|
28
28
|
return endpointUrl;
|
|
29
29
|
}
|
|
@@ -36,7 +36,7 @@ const getEndpointUrlConfig = (serviceId) => ({
|
|
|
36
36
|
default: undefined,
|
|
37
37
|
});
|
|
38
38
|
|
|
39
|
-
const getEndpointFromConfig = async (serviceId) =>
|
|
39
|
+
const getEndpointFromConfig = async (serviceId) => loadConfig(getEndpointUrlConfig(serviceId ?? ""))();
|
|
40
40
|
|
|
41
41
|
const resolveParamsForS3 = async (endpointParams) => {
|
|
42
42
|
const bucket = endpointParams?.Bucket || "";
|
|
@@ -136,7 +136,7 @@ function bindGetEndpointFromInstructions(getEndpointFromConfig) {
|
|
|
136
136
|
endpointFromConfig = await getEndpointFromConfig(clientConfig.serviceId);
|
|
137
137
|
}
|
|
138
138
|
if (endpointFromConfig) {
|
|
139
|
-
clientConfig.endpoint = () => Promise.resolve(
|
|
139
|
+
clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));
|
|
140
140
|
clientConfig.isCustomEndpoint = true;
|
|
141
141
|
}
|
|
142
142
|
}
|
|
@@ -215,7 +215,7 @@ function bindEndpointMiddleware(getEndpointFromConfig) {
|
|
|
215
215
|
if (authScheme) {
|
|
216
216
|
context["signing_region"] = authScheme.signingRegion;
|
|
217
217
|
context["signing_service"] = authScheme.signingName;
|
|
218
|
-
const smithyContext =
|
|
218
|
+
const smithyContext = getSmithyContext(context);
|
|
219
219
|
const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;
|
|
220
220
|
if (httpAuthOption) {
|
|
221
221
|
httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {
|
|
@@ -260,14 +260,14 @@ function bindResolveEndpointConfig(getEndpointFromConfig) {
|
|
|
260
260
|
return (input) => {
|
|
261
261
|
const tls = input.tls ?? true;
|
|
262
262
|
const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;
|
|
263
|
-
const customEndpointProvider = endpoint != null ? async () =>
|
|
263
|
+
const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : undefined;
|
|
264
264
|
const isCustomEndpoint = !!endpoint;
|
|
265
265
|
const resolvedConfig = Object.assign(input, {
|
|
266
266
|
endpoint: customEndpointProvider,
|
|
267
267
|
tls,
|
|
268
268
|
isCustomEndpoint,
|
|
269
|
-
useDualstackEndpoint:
|
|
270
|
-
useFipsEndpoint:
|
|
269
|
+
useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),
|
|
270
|
+
useFipsEndpoint: normalizeProvider(useFipsEndpoint ?? false),
|
|
271
271
|
});
|
|
272
272
|
let configuredEndpointPromise = undefined;
|
|
273
273
|
resolvedConfig.serviceConfiguredEndpoint = async () => {
|
|
@@ -430,8 +430,8 @@ const IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\
|
|
|
430
430
|
const isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith("[") && value.endsWith("]"));
|
|
431
431
|
|
|
432
432
|
const DEFAULT_PORTS = {
|
|
433
|
-
[
|
|
434
|
-
[
|
|
433
|
+
[EndpointURLScheme.HTTP]: 80,
|
|
434
|
+
[EndpointURLScheme.HTTPS]: 443,
|
|
435
435
|
};
|
|
436
436
|
const parseURL = (value) => {
|
|
437
437
|
const whatwgURL = (() => {
|
|
@@ -463,7 +463,7 @@ const parseURL = (value) => {
|
|
|
463
463
|
return null;
|
|
464
464
|
}
|
|
465
465
|
const scheme = protocol.slice(0, -1);
|
|
466
|
-
if (!Object.values(
|
|
466
|
+
if (!Object.values(EndpointURLScheme).includes(scheme)) {
|
|
467
467
|
return null;
|
|
468
468
|
}
|
|
469
469
|
const isIp = isIpAddress(hostname);
|
|
@@ -512,7 +512,7 @@ const endpointFunctions = {
|
|
|
512
512
|
coalesce,
|
|
513
513
|
getAttr,
|
|
514
514
|
isSet,
|
|
515
|
-
isValidHostLabel
|
|
515
|
+
isValidHostLabel,
|
|
516
516
|
ite,
|
|
517
517
|
not,
|
|
518
518
|
parseURL,
|
|
@@ -842,9 +842,6 @@ const resolveEndpointConfig = bindResolveEndpointConfig(getEndpointFromConfig);
|
|
|
842
842
|
const endpointMiddleware = bindEndpointMiddleware(getEndpointFromConfig);
|
|
843
843
|
const getEndpointPlugin = bindGetEndpointPlugin(getEndpointFromConfig);
|
|
844
844
|
|
|
845
|
-
exports.isValidHostLabel = transport.isValidHostLabel;
|
|
846
|
-
exports.middlewareEndpointToEndpointV1 = transport.toEndpointV1;
|
|
847
|
-
exports.toEndpointV1 = transport.toEndpointV1;
|
|
848
845
|
exports.BinaryDecisionDiagram = BinaryDecisionDiagram;
|
|
849
846
|
exports.EndpointCache = EndpointCache;
|
|
850
847
|
exports.EndpointError = EndpointError;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var crc32 = require('@aws-crypto/crc32');
|
|
4
|
-
var serde = require('@smithy/core/serde');
|
|
1
|
+
const { Crc32 } = require("@aws-crypto/crc32");
|
|
2
|
+
const { toHex, fromHex, toUtf8, fromUtf8 } = require("@smithy/core/serde");
|
|
5
3
|
|
|
6
4
|
class Int64 {
|
|
7
5
|
bytes;
|
|
@@ -30,7 +28,7 @@ class Int64 {
|
|
|
30
28
|
if (negative) {
|
|
31
29
|
negate(bytes);
|
|
32
30
|
}
|
|
33
|
-
return parseInt(
|
|
31
|
+
return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);
|
|
34
32
|
}
|
|
35
33
|
toString() {
|
|
36
34
|
return String(this.valueOf());
|
|
@@ -115,7 +113,7 @@ class HeaderMarshaller {
|
|
|
115
113
|
}
|
|
116
114
|
const uuidBytes = new Uint8Array(17);
|
|
117
115
|
uuidBytes[0] = 9;
|
|
118
|
-
uuidBytes.set(
|
|
116
|
+
uuidBytes.set(fromHex(header.value.replace(/\-/g, "")), 1);
|
|
119
117
|
return uuidBytes;
|
|
120
118
|
}
|
|
121
119
|
}
|
|
@@ -196,7 +194,7 @@ class HeaderMarshaller {
|
|
|
196
194
|
position += 16;
|
|
197
195
|
out[name] = {
|
|
198
196
|
type: UUID_TAG,
|
|
199
|
-
value: `${
|
|
197
|
+
value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,
|
|
200
198
|
};
|
|
201
199
|
break;
|
|
202
200
|
default:
|
|
@@ -246,7 +244,7 @@ function splitMessage({ byteLength, byteOffset, buffer }) {
|
|
|
246
244
|
const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);
|
|
247
245
|
const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);
|
|
248
246
|
const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);
|
|
249
|
-
const checksummer = new
|
|
247
|
+
const checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));
|
|
250
248
|
if (expectedPreludeChecksum !== checksummer.digest()) {
|
|
251
249
|
throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);
|
|
252
250
|
}
|
|
@@ -305,7 +303,7 @@ class EventStreamCodec {
|
|
|
305
303
|
const length = headers.byteLength + body.byteLength + 16;
|
|
306
304
|
const out = new Uint8Array(length);
|
|
307
305
|
const view = new DataView(out.buffer, out.byteOffset, out.byteLength);
|
|
308
|
-
const checksum = new
|
|
306
|
+
const checksum = new Crc32();
|
|
309
307
|
view.setUint32(0, length, false);
|
|
310
308
|
view.setUint32(4, headers.byteLength, false);
|
|
311
309
|
view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);
|
|
@@ -688,7 +686,7 @@ class EventStreamSerde {
|
|
|
688
686
|
out[name] = body;
|
|
689
687
|
}
|
|
690
688
|
else if (member.isStringSchema()) {
|
|
691
|
-
out[name] = (this.serdeContext?.utf8Encoder ??
|
|
689
|
+
out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8)(body);
|
|
692
690
|
}
|
|
693
691
|
else if (member.isStructSchema()) {
|
|
694
692
|
out[name] = await this.deserializer.read(member, body);
|
|
@@ -835,7 +833,7 @@ class EventStreamSerde {
|
|
|
835
833
|
}
|
|
836
834
|
const messageSerialization = serializer.flush() ?? new Uint8Array();
|
|
837
835
|
const body = typeof messageSerialization === "string"
|
|
838
|
-
? (this.serdeContext?.utf8Decoder ??
|
|
836
|
+
? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization)
|
|
839
837
|
: messageSerialization;
|
|
840
838
|
return {
|
|
841
839
|
body,
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var serde = require('@smithy/core/serde');
|
|
5
|
-
var node_stream = require('node:stream');
|
|
1
|
+
const { Crc32 } = require("@aws-crypto/crc32");
|
|
2
|
+
const { toHex, fromHex, toUtf8, fromUtf8 } = require("@smithy/core/serde");
|
|
3
|
+
const { Readable } = require("node:stream");
|
|
6
4
|
|
|
7
5
|
class Int64 {
|
|
8
6
|
bytes;
|
|
@@ -31,7 +29,7 @@ class Int64 {
|
|
|
31
29
|
if (negative) {
|
|
32
30
|
negate(bytes);
|
|
33
31
|
}
|
|
34
|
-
return parseInt(
|
|
32
|
+
return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);
|
|
35
33
|
}
|
|
36
34
|
toString() {
|
|
37
35
|
return String(this.valueOf());
|
|
@@ -116,7 +114,7 @@ class HeaderMarshaller {
|
|
|
116
114
|
}
|
|
117
115
|
const uuidBytes = new Uint8Array(17);
|
|
118
116
|
uuidBytes[0] = 9;
|
|
119
|
-
uuidBytes.set(
|
|
117
|
+
uuidBytes.set(fromHex(header.value.replace(/\-/g, "")), 1);
|
|
120
118
|
return uuidBytes;
|
|
121
119
|
}
|
|
122
120
|
}
|
|
@@ -197,7 +195,7 @@ class HeaderMarshaller {
|
|
|
197
195
|
position += 16;
|
|
198
196
|
out[name] = {
|
|
199
197
|
type: UUID_TAG,
|
|
200
|
-
value: `${
|
|
198
|
+
value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,
|
|
201
199
|
};
|
|
202
200
|
break;
|
|
203
201
|
default:
|
|
@@ -247,7 +245,7 @@ function splitMessage({ byteLength, byteOffset, buffer }) {
|
|
|
247
245
|
const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);
|
|
248
246
|
const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);
|
|
249
247
|
const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);
|
|
250
|
-
const checksummer = new
|
|
248
|
+
const checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));
|
|
251
249
|
if (expectedPreludeChecksum !== checksummer.digest()) {
|
|
252
250
|
throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);
|
|
253
251
|
}
|
|
@@ -306,7 +304,7 @@ class EventStreamCodec {
|
|
|
306
304
|
const length = headers.byteLength + body.byteLength + 16;
|
|
307
305
|
const out = new Uint8Array(length);
|
|
308
306
|
const view = new DataView(out.buffer, out.byteOffset, out.byteLength);
|
|
309
|
-
const checksum = new
|
|
307
|
+
const checksum = new Crc32();
|
|
310
308
|
view.setUint32(0, length, false);
|
|
311
309
|
view.setUint32(4, headers.byteLength, false);
|
|
312
310
|
view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);
|
|
@@ -545,7 +543,7 @@ class EventStreamMarshaller {
|
|
|
545
543
|
return this.universalMarshaller.deserialize(bodyIterable, deserializer);
|
|
546
544
|
}
|
|
547
545
|
serialize(input, serializer) {
|
|
548
|
-
return
|
|
546
|
+
return Readable.from(this.universalMarshaller.serialize(input, serializer));
|
|
549
547
|
}
|
|
550
548
|
}
|
|
551
549
|
const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);
|
|
@@ -713,7 +711,7 @@ class EventStreamSerde {
|
|
|
713
711
|
out[name] = body;
|
|
714
712
|
}
|
|
715
713
|
else if (member.isStringSchema()) {
|
|
716
|
-
out[name] = (this.serdeContext?.utf8Encoder ??
|
|
714
|
+
out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8)(body);
|
|
717
715
|
}
|
|
718
716
|
else if (member.isStructSchema()) {
|
|
719
717
|
out[name] = await this.deserializer.read(member, body);
|
|
@@ -860,7 +858,7 @@ class EventStreamSerde {
|
|
|
860
858
|
}
|
|
861
859
|
const messageSerialization = serializer.flush() ?? new Uint8Array();
|
|
862
860
|
const body = typeof messageSerialization === "string"
|
|
863
|
-
? (this.serdeContext?.utf8Decoder ??
|
|
861
|
+
? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization)
|
|
864
862
|
: messageSerialization;
|
|
865
863
|
return {
|
|
866
864
|
body,
|