@aws-sdk/middleware-signing 3.183.0 → 3.186.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.186.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.185.0...v3.186.0) (2022-10-06)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/middleware-signing
9
+
10
+
11
+
12
+
13
+
6
14
  # [3.183.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.182.0...v3.183.0) (2022-10-03)
7
15
 
8
16
  **Note:** Version bump only for package @aws-sdk/middleware-signing
@@ -1,76 +1,78 @@
1
+ import { __assign, __awaiter, __generator, __read } from "tslib";
1
2
  import { memoize } from "@aws-sdk/property-provider";
2
3
  import { SignatureV4 } from "@aws-sdk/signature-v4";
3
4
  import { normalizeProvider } from "@aws-sdk/util-middleware";
4
- const CREDENTIAL_EXPIRE_WINDOW = 300000;
5
- export const resolveAwsAuthConfig = (input) => {
6
- const normalizedCreds = input.credentials
5
+ var CREDENTIAL_EXPIRE_WINDOW = 300000;
6
+ export var resolveAwsAuthConfig = function (input) {
7
+ var normalizedCreds = input.credentials
7
8
  ? normalizeCredentialProvider(input.credentials)
8
9
  : input.credentialDefaultProvider(input);
9
- const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
10
- let signer;
10
+ var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;
11
+ var signer;
11
12
  if (input.signer) {
12
13
  signer = normalizeProvider(input.signer);
13
14
  }
14
15
  else if (input.regionInfoProvider) {
15
- signer = () => normalizeProvider(input.region)()
16
- .then(async (region) => [
17
- (await input.regionInfoProvider(region, {
18
- useFipsEndpoint: await input.useFipsEndpoint(),
19
- useDualstackEndpoint: await input.useDualstackEndpoint(),
20
- })) || {},
21
- region,
22
- ])
23
- .then(([regionInfo, region]) => {
24
- const { signingRegion, signingService } = regionInfo;
25
- input.signingRegion = input.signingRegion || signingRegion || region;
26
- input.signingName = input.signingName || signingService || input.serviceId;
27
- const params = {
28
- ...input,
29
- credentials: normalizedCreds,
30
- region: input.signingRegion,
31
- service: input.signingName,
32
- sha256,
33
- uriEscapePath: signingEscapePath,
34
- };
35
- const SignerCtor = input.signerConstructor || SignatureV4;
36
- return new SignerCtor(params);
37
- });
16
+ signer = function () {
17
+ return normalizeProvider(input.region)()
18
+ .then(function (region) { return __awaiter(void 0, void 0, void 0, function () {
19
+ var _a, _b, _c;
20
+ var _d;
21
+ return __generator(this, function (_e) {
22
+ switch (_e.label) {
23
+ case 0:
24
+ _b = (_a = input).regionInfoProvider;
25
+ _c = [region];
26
+ _d = {};
27
+ return [4, input.useFipsEndpoint()];
28
+ case 1:
29
+ _d.useFipsEndpoint = _e.sent();
30
+ return [4, input.useDualstackEndpoint()];
31
+ case 2: return [4, _b.apply(_a, _c.concat([(_d.useDualstackEndpoint = _e.sent(),
32
+ _d)]))];
33
+ case 3: return [2, [
34
+ (_e.sent()) || {},
35
+ region
36
+ ]];
37
+ }
38
+ });
39
+ }); })
40
+ .then(function (_a) {
41
+ var _b = __read(_a, 2), regionInfo = _b[0], region = _b[1];
42
+ var signingRegion = regionInfo.signingRegion, signingService = regionInfo.signingService;
43
+ input.signingRegion = input.signingRegion || signingRegion || region;
44
+ input.signingName = input.signingName || signingService || input.serviceId;
45
+ var params = __assign(__assign({}, input), { credentials: normalizedCreds, region: input.signingRegion, service: input.signingName, sha256: sha256, uriEscapePath: signingEscapePath });
46
+ var SignerCtor = input.signerConstructor || SignatureV4;
47
+ return new SignerCtor(params);
48
+ });
49
+ };
38
50
  }
39
51
  else {
40
- signer = async (authScheme) => {
41
- if (!authScheme) {
42
- throw new Error("Unexpected empty auth scheme config");
43
- }
44
- const signingRegion = authScheme.signingScope;
45
- const signingService = authScheme.signingName;
46
- input.signingRegion = input.signingRegion || signingRegion;
47
- input.signingName = input.signingName || signingService || input.serviceId;
48
- const params = {
49
- ...input,
50
- credentials: normalizedCreds,
51
- region: input.signingRegion,
52
- service: input.signingName,
53
- sha256,
54
- uriEscapePath: signingEscapePath,
55
- };
56
- const SignerCtor = input.signerConstructor || SignatureV4;
57
- return new SignerCtor(params);
58
- };
52
+ signer = function (authScheme) { return __awaiter(void 0, void 0, void 0, function () {
53
+ var signingRegion, signingService, params, SignerCtor;
54
+ return __generator(this, function (_a) {
55
+ if (!authScheme) {
56
+ throw new Error("Unexpected empty auth scheme config");
57
+ }
58
+ signingRegion = authScheme.signingScope;
59
+ signingService = authScheme.signingName;
60
+ input.signingRegion = input.signingRegion || signingRegion;
61
+ input.signingName = input.signingName || signingService || input.serviceId;
62
+ params = __assign(__assign({}, input), { credentials: normalizedCreds, region: input.signingRegion, service: input.signingName, sha256: sha256, uriEscapePath: signingEscapePath });
63
+ SignerCtor = input.signerConstructor || SignatureV4;
64
+ return [2, new SignerCtor(params)];
65
+ });
66
+ }); };
59
67
  }
60
- return {
61
- ...input,
62
- systemClockOffset,
63
- signingEscapePath,
64
- credentials: normalizedCreds,
65
- signer,
66
- };
68
+ return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });
67
69
  };
68
- export const resolveSigV4AuthConfig = (input) => {
69
- const normalizedCreds = input.credentials
70
+ export var resolveSigV4AuthConfig = function (input) {
71
+ var normalizedCreds = input.credentials
70
72
  ? normalizeCredentialProvider(input.credentials)
71
73
  : input.credentialDefaultProvider(input);
72
- const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
73
- let signer;
74
+ var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;
75
+ var signer;
74
76
  if (input.signer) {
75
77
  signer = normalizeProvider(input.signer);
76
78
  }
@@ -79,22 +81,18 @@ export const resolveSigV4AuthConfig = (input) => {
79
81
  credentials: normalizedCreds,
80
82
  region: input.region,
81
83
  service: input.signingName,
82
- sha256,
84
+ sha256: sha256,
83
85
  uriEscapePath: signingEscapePath,
84
86
  }));
85
87
  }
86
- return {
87
- ...input,
88
- systemClockOffset,
89
- signingEscapePath,
90
- credentials: normalizedCreds,
91
- signer,
92
- };
88
+ return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });
93
89
  };
94
- const normalizeCredentialProvider = (credentials) => {
90
+ var normalizeCredentialProvider = function (credentials) {
95
91
  if (typeof credentials === "function") {
96
- return memoize(credentials, (credentials) => credentials.expiration !== undefined &&
97
- credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials) => credentials.expiration !== undefined);
92
+ return memoize(credentials, function (credentials) {
93
+ return credentials.expiration !== undefined &&
94
+ credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW;
95
+ }, function (credentials) { return credentials.expiration !== undefined; });
98
96
  }
99
97
  return normalizeProvider(credentials);
100
98
  };
@@ -1,42 +1,63 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
1
2
  import { HttpRequest, HttpResponse } from "@aws-sdk/protocol-http";
2
3
  import { getSkewCorrectedDate } from "./utils/getSkewCorrectedDate";
3
4
  import { getUpdatedSystemClockOffset } from "./utils/getUpdatedSystemClockOffset";
4
- export const awsAuthMiddleware = (options) => (next, context) => async function (args) {
5
- if (!HttpRequest.isInstance(args.request))
6
- return next(args);
7
- const authScheme = (context.endpointV2)?.properties?.authSchemes?.[0];
8
- const signer = await options.signer(authScheme);
9
- const output = await next({
10
- ...args,
11
- request: await signer.sign(args.request, {
12
- signingDate: getSkewCorrectedDate(options.systemClockOffset),
13
- signingRegion: context["signing_region"],
14
- signingService: context["signing_service"],
15
- }),
16
- }).catch((error) => {
17
- const serverTime = error.ServerTime ?? getDateHeader(error.$response);
18
- if (serverTime) {
19
- options.systemClockOffset = getUpdatedSystemClockOffset(serverTime, options.systemClockOffset);
20
- }
21
- throw error;
22
- });
23
- const dateHeader = getDateHeader(output.response);
24
- if (dateHeader) {
25
- options.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, options.systemClockOffset);
26
- }
27
- return output;
5
+ export var awsAuthMiddleware = function (options) {
6
+ return function (next, context) {
7
+ return function (args) {
8
+ var _a, _b, _c;
9
+ return __awaiter(this, void 0, void 0, function () {
10
+ var authScheme, signer, output, _d, _e, dateHeader;
11
+ var _f;
12
+ return __generator(this, function (_g) {
13
+ switch (_g.label) {
14
+ case 0:
15
+ if (!HttpRequest.isInstance(args.request))
16
+ return [2, next(args)];
17
+ authScheme = (_c = (_b = (_a = (context.endpointV2)) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.authSchemes) === null || _c === void 0 ? void 0 : _c[0];
18
+ return [4, options.signer(authScheme)];
19
+ case 1:
20
+ signer = _g.sent();
21
+ _d = next;
22
+ _e = [__assign({}, args)];
23
+ _f = {};
24
+ return [4, signer.sign(args.request, {
25
+ signingDate: getSkewCorrectedDate(options.systemClockOffset),
26
+ signingRegion: context["signing_region"],
27
+ signingService: context["signing_service"],
28
+ })];
29
+ case 2: return [4, _d.apply(void 0, [__assign.apply(void 0, _e.concat([(_f.request = _g.sent(), _f)]))]).catch(function (error) {
30
+ var _a;
31
+ var serverTime = (_a = error.ServerTime) !== null && _a !== void 0 ? _a : getDateHeader(error.$response);
32
+ if (serverTime) {
33
+ options.systemClockOffset = getUpdatedSystemClockOffset(serverTime, options.systemClockOffset);
34
+ }
35
+ throw error;
36
+ })];
37
+ case 3:
38
+ output = _g.sent();
39
+ dateHeader = getDateHeader(output.response);
40
+ if (dateHeader) {
41
+ options.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, options.systemClockOffset);
42
+ }
43
+ return [2, output];
44
+ }
45
+ });
46
+ });
47
+ };
48
+ };
28
49
  };
29
- const getDateHeader = (response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;
30
- export const awsAuthMiddlewareOptions = {
50
+ var getDateHeader = function (response) { var _a, _b, _c; return HttpResponse.isInstance(response) ? (_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.date) !== null && _b !== void 0 ? _b : (_c = response.headers) === null || _c === void 0 ? void 0 : _c.Date : undefined; };
51
+ export var awsAuthMiddlewareOptions = {
31
52
  name: "awsAuthMiddleware",
32
53
  tags: ["SIGNATURE", "AWSAUTH"],
33
54
  relation: "after",
34
55
  toMiddleware: "retryMiddleware",
35
56
  override: true,
36
57
  };
37
- export const getAwsAuthPlugin = (options) => ({
38
- applyToStack: (clientStack) => {
58
+ export var getAwsAuthPlugin = function (options) { return ({
59
+ applyToStack: function (clientStack) {
39
60
  clientStack.addRelativeTo(awsAuthMiddleware(options), awsAuthMiddlewareOptions);
40
61
  },
41
- });
42
- export const getSigV4AuthPlugin = getAwsAuthPlugin;
62
+ }); };
63
+ export var getSigV4AuthPlugin = getAwsAuthPlugin;
@@ -1 +1 @@
1
- export const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);
1
+ export var getSkewCorrectedDate = function (systemClockOffset) { return new Date(Date.now() + systemClockOffset); };
@@ -1,6 +1,6 @@
1
1
  import { isClockSkewed } from "./isClockSkewed";
2
- export const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {
3
- const clockTimeInMs = Date.parse(clockTime);
2
+ export var getUpdatedSystemClockOffset = function (clockTime, currentSystemClockOffset) {
3
+ var clockTimeInMs = Date.parse(clockTime);
4
4
  if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {
5
5
  return clockTimeInMs - Date.now();
6
6
  }
@@ -1,2 +1,4 @@
1
1
  import { getSkewCorrectedDate } from "./getSkewCorrectedDate";
2
- export const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;
2
+ export var isClockSkewed = function (clockTime, systemClockOffset) {
3
+ return Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;
4
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-signing",
3
- "version": "3.183.0",
3
+ "version": "3.186.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -20,11 +20,11 @@
20
20
  },
21
21
  "license": "Apache-2.0",
22
22
  "dependencies": {
23
- "@aws-sdk/property-provider": "3.183.0",
24
- "@aws-sdk/protocol-http": "3.183.0",
25
- "@aws-sdk/signature-v4": "3.183.0",
26
- "@aws-sdk/types": "3.183.0",
27
- "@aws-sdk/util-middleware": "3.183.0",
23
+ "@aws-sdk/property-provider": "3.186.0",
24
+ "@aws-sdk/protocol-http": "3.186.0",
25
+ "@aws-sdk/signature-v4": "3.186.0",
26
+ "@aws-sdk/types": "3.186.0",
27
+ "@aws-sdk/util-middleware": "3.186.0",
28
28
  "tslib": "^2.3.1"
29
29
  },
30
30
  "engines": {