@aws-sdk/middleware-signing 3.30.0 → 3.35.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist-cjs/configurations.js +85 -0
  3. package/dist-cjs/index.js +6 -0
  4. package/dist-cjs/middleware.js +46 -0
  5. package/dist-cjs/utils/getSkewCorrectedDate.js +6 -0
  6. package/dist-cjs/utils/getUpdatedSystemClockOffset.js +13 -0
  7. package/dist-cjs/utils/isClockSkewed.js +7 -0
  8. package/dist-es/configurations.js +72 -0
  9. package/dist-es/index.js +3 -0
  10. package/dist-es/middleware.js +60 -0
  11. package/dist-es/utils/getSkewCorrectedDate.js +2 -0
  12. package/dist-es/utils/getUpdatedSystemClockOffset.js +9 -0
  13. package/dist-es/utils/isClockSkewed.js +5 -0
  14. package/{dist/types → dist-types}/configurations.d.ts +7 -0
  15. package/{dist/types → dist-types}/index.d.ts +0 -0
  16. package/{dist/types → dist-types}/middleware.d.ts +0 -0
  17. package/{dist/types → dist-types}/ts3.4/configurations.d.ts +7 -0
  18. package/{dist/types → dist-types}/ts3.4/index.d.ts +0 -0
  19. package/{dist/types → dist-types}/ts3.4/middleware.d.ts +0 -0
  20. package/{dist/types → dist-types}/ts3.4/utils/getSkewCorrectedDate.d.ts +0 -0
  21. package/{dist/types → dist-types}/ts3.4/utils/getUpdatedSystemClockOffset.d.ts +0 -0
  22. package/{dist/types → dist-types}/ts3.4/utils/isClockSkewed.d.ts +0 -0
  23. package/{dist/types → dist-types}/utils/getSkewCorrectedDate.d.ts +0 -0
  24. package/{dist/types → dist-types}/utils/getUpdatedSystemClockOffset.d.ts +0 -0
  25. package/{dist/types → dist-types}/utils/isClockSkewed.d.ts +0 -0
  26. package/package.json +14 -13
  27. package/src/configurations.ts +13 -3
  28. package/tsconfig.cjs.json +3 -4
  29. package/tsconfig.es.json +3 -4
  30. package/tsconfig.types.json +9 -0
  31. package/dist/cjs/configurations.js +0 -91
  32. package/dist/cjs/index.js +0 -6
  33. package/dist/cjs/middleware.js +0 -46
  34. package/dist/cjs/utils/getSkewCorrectedDate.js +0 -11
  35. package/dist/cjs/utils/getUpdatedSystemClockOffset.js +0 -20
  36. package/dist/cjs/utils/isClockSkewed.js +0 -13
  37. package/dist/es/configurations.js +0 -85
  38. package/dist/es/index.js +0 -3
  39. package/dist/es/middleware.js +0 -60
  40. package/dist/es/utils/getSkewCorrectedDate.js +0 -7
  41. package/dist/es/utils/getUpdatedSystemClockOffset.js +0 -16
  42. package/dist/es/utils/isClockSkewed.js +0 -11
package/CHANGELOG.md CHANGED
@@ -3,6 +3,44 @@
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.35.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.34.0...v3.35.0) (2021-10-04)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/middleware-signing
9
+
10
+
11
+
12
+
13
+
14
+ # [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
15
+
16
+
17
+ ### Features
18
+
19
+ * **non-clients:** remove comments from transpiled JS files ([#2813](https://github.com/aws/aws-sdk-js-v3/issues/2813)) ([e6fc7f3](https://github.com/aws/aws-sdk-js-v3/commit/e6fc7f3e0fa74785590ac19e7ed143c916bb9b6e))
20
+
21
+
22
+
23
+
24
+
25
+ # [3.33.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.32.0...v3.33.0) (2021-09-21)
26
+
27
+
28
+ ### Features
29
+
30
+ * **client-s3:** support generating endpoints from multi-region access point ([#2796](https://github.com/aws/aws-sdk-js-v3/issues/2796)) ([c1bed9d](https://github.com/aws/aws-sdk-js-v3/commit/c1bed9d5c54ea3afbfe1883877b452b0b54a69fa)), closes [#2759](https://github.com/aws/aws-sdk-js-v3/issues/2759)
31
+
32
+
33
+
34
+
35
+
36
+ # [3.32.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.31.0...v3.32.0) (2021-09-17)
37
+
38
+ **Note:** Version bump only for package @aws-sdk/middleware-signing
39
+
40
+
41
+
42
+
43
+
6
44
  # [3.30.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.29.0...v3.30.0) (2021-09-07)
7
45
 
8
46
 
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveSigV4AuthConfig = exports.resolveAwsAuthConfig = void 0;
4
+ const property_provider_1 = require("@aws-sdk/property-provider");
5
+ const signature_v4_1 = require("@aws-sdk/signature-v4");
6
+ const CREDENTIAL_EXPIRE_WINDOW = 300000;
7
+ const resolveAwsAuthConfig = (input) => {
8
+ const normalizedCreds = input.credentials
9
+ ? normalizeCredentialProvider(input.credentials)
10
+ : input.credentialDefaultProvider(input);
11
+ const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
12
+ let signer;
13
+ if (input.signer) {
14
+ signer = normalizeProvider(input.signer);
15
+ }
16
+ else {
17
+ signer = () => normalizeProvider(input.region)()
18
+ .then(async (region) => [(await input.regionInfoProvider(region)) || {}, region])
19
+ .then(([regionInfo, region]) => {
20
+ const { signingRegion, signingService } = regionInfo;
21
+ input.signingRegion = input.signingRegion || signingRegion || region;
22
+ input.signingName = input.signingName || signingService || input.serviceId;
23
+ const params = {
24
+ ...input,
25
+ credentials: normalizedCreds,
26
+ region: input.signingRegion,
27
+ service: input.signingName,
28
+ sha256,
29
+ uriEscapePath: signingEscapePath,
30
+ };
31
+ const signerConstructor = input.signerConstructor || signature_v4_1.SignatureV4;
32
+ return new signerConstructor(params);
33
+ });
34
+ }
35
+ return {
36
+ ...input,
37
+ systemClockOffset,
38
+ signingEscapePath,
39
+ credentials: normalizedCreds,
40
+ signer,
41
+ };
42
+ };
43
+ exports.resolveAwsAuthConfig = resolveAwsAuthConfig;
44
+ const resolveSigV4AuthConfig = (input) => {
45
+ const normalizedCreds = input.credentials
46
+ ? normalizeCredentialProvider(input.credentials)
47
+ : input.credentialDefaultProvider(input);
48
+ const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
49
+ let signer;
50
+ if (input.signer) {
51
+ signer = normalizeProvider(input.signer);
52
+ }
53
+ else {
54
+ signer = normalizeProvider(new signature_v4_1.SignatureV4({
55
+ credentials: normalizedCreds,
56
+ region: input.region,
57
+ service: input.signingName,
58
+ sha256,
59
+ uriEscapePath: signingEscapePath,
60
+ }));
61
+ }
62
+ return {
63
+ ...input,
64
+ systemClockOffset,
65
+ signingEscapePath,
66
+ credentials: normalizedCreds,
67
+ signer,
68
+ };
69
+ };
70
+ exports.resolveSigV4AuthConfig = resolveSigV4AuthConfig;
71
+ const normalizeProvider = (input) => {
72
+ if (typeof input === "object") {
73
+ const promisified = Promise.resolve(input);
74
+ return () => promisified;
75
+ }
76
+ return input;
77
+ };
78
+ const normalizeCredentialProvider = (credentials) => {
79
+ if (typeof credentials === "function") {
80
+ return property_provider_1.memoize(credentials, (credentials) => credentials.expiration !== undefined &&
81
+ credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials) => credentials.expiration !== undefined);
82
+ }
83
+ return normalizeProvider(credentials);
84
+ };
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0VBQXFEO0FBQ3JELHdEQUE0RjtBQUk1RixNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQztBQW9HakMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxLQUFrRCxFQUN2QixFQUFFO0lBQzdCLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxXQUFXO1FBQ3ZDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsS0FBWSxDQUFDLENBQUM7SUFDbEQsTUFBTSxFQUFFLGlCQUFpQixHQUFHLElBQUksRUFBRSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNyRyxJQUFJLE1BQStCLENBQUM7SUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBRWhCLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUM7U0FBTTtRQUVMLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FDWixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7YUFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQXlCLENBQUM7YUFDeEcsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUM3QixNQUFNLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxHQUFHLFVBQVUsQ0FBQztZQUdyRCxLQUFL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QUNIO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZW1vaXplIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBTaWduYXR1cmVWNCwgU2lnbmF0dXJlVjRDcnlwdG9Jbml0LCBTaWduYXR1cmVWNEluaXQgfSBmcm9tIFwiQGF3cy1zZGsvc2lnbmF0dXJlLXY0XCI7XG5pbXBvcnQgeyBDcmVkZW50aWFscywgSGFzaENvbnN0cnVjdG9yLCBQcm92aWRlciwgUmVnaW9uSW5mbywgUmVnaW9uSW5mb1Byb3ZpZGVyLCBSZXF1ZXN0U2lnbmVyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbi8vIDUgbWludXRlcyBidWZmZXIgdGltZSB0aGUgcmVmcmVzaCB0aGUgY3JlZGVudGlhbCBiZWZvcmUgaXQgcmVhbGx5IGV4cGlyZXNcbmNvbnN0IENSRURFTlRJQUxfRVhQSVJFX1dJTkRPVyA9IDMwMDAwMDtcblxuLy8gQXdzQXV0aCB2L3MgU2lnVjRBdXRoXG4vLyBBd3NBdXRoOiBzcGVjaWZpYyB0byBTaWdWNCBhdXRoIGZvciBBV1Mgc2VydmljZXNcbi8vIFNpZ1Y0QXV0aDogU2lnVjQgYXV0aCBmb3Igbm9uLUFXUyBzZXJ2aWNlc1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0F1dGhJbnB1dENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY3JlZGVudGlhbHMgdXNlZCB0byBzaWduIHJlcXVlc3RzLlxuICAgKi9cbiAgY3JlZGVudGlhbHM/OiBDcmVkZW50aWFscyB8IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcblxuICAvKipcbiAgICogVGhlIHNpZ25lciB0byB1c2Ugd2hlbiBzaWduaW5nIHJlcXVlc3RzLlxuICAgKi9cbiAgc2lnbmVyPzogUmVxdWVzdFNpZ25lciB8IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVzY2FwZSByZXF1ZXN0IHBhdGggd2hlbiBzaWduaW5nIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgc2lnbmluZ0VzY2FwZVBhdGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbiBvZmZzZXQgdmFsdWUgaW4gbWlsbGlzZWNvbmRzIHRvIGFwcGx5IHRvIGFsbCBzaWduaW5nIHRpbWVzLlxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb24gd2hlcmUgeW91IHdhbnQgdG8gc2lnbiB5b3VyIHJlcXVlc3QgYWdhaW5zdC4gVGhpc1xuICAgKiBjYW4gYmUgZGlmZmVyZW50IHRvIHRoZSByZWdpb24gaW4gdGhlIGVuZHBvaW50LlxuICAgKi9cbiAgc2lnbmluZ1JlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGluamVjdGFibGUgU2lnVjQtY29tcGF0aWJsZSBzaWduZXIgY2xhc3MgY29uc3RydWN0b3IuIElmIG5vdCBzdXBwbGllZCxcbiAgICogcmVndWxhciBTaWduYXR1cmVWNCBjb25zdHJ1Y3RvciB3aWxsIGJlIHVzZWQuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBzaWduZXJDb25zdHJ1Y3Rvcj86IG5ldyAob3B0aW9uczogU2lnbmF0dXJlVjRJbml0ICYgU2lnbmF0dXJlVjRDcnlwdG9Jbml0KSA9PiBSZXF1ZXN0U2lnbmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ1Y0QXV0aElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyB1c2VkIHRvIHNpZ24gcmVxdWVzdHMuXG4gICAqL1xuICBjcmVkZW50aWFscz86IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmVyIHRvIHVzZSB3aGVuIHNpZ25pbmcgcmVxdWVzdHMuXG4gICAqL1xuICBzaWduZXI/OiBSZXF1ZXN0U2lnbmVyIHwgUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXNjYXBlIHJlcXVlc3QgcGF0aCB3aGVuIHNpZ25pbmcgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBzaWduaW5nRXNjYXBlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFuIG9mZnNldCB2YWx1ZSBpbiBtaWxsaXNlY29uZHMgdG8gYXBwbHkgdG8gYWxsIHNpZ25pbmcgdGltZXMuXG4gICAqL1xuICBzeXN0ZW1DbG9ja09mZnNldD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG4gIHNpZ25pbmdOYW1lPzogc3RyaW5nO1xuICBzZXJ2aWNlSWQ6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmludGVyZmFjZSBTaWdWNFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgc2lnbmluZ05hbWU6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQXV0aFJlc29sdmVkQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5jcmVkZW50aWFsc31cbiAgICovXG4gIGNyZWRlbnRpYWxzOiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBBd3NBdXRoSW5wdXRDb25maWcuc2lnbmVyfVxuICAgKi9cbiAgc2lnbmVyOiBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5zaWduaW5nRXNjYXBlUGF0aH1cbiAgICovXG4gIHNpZ25pbmdFc2NhcGVQYXRoOiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQXdzQXV0aElucHV0Q29uZmlnLnN5c3RlbUNsb2NrT2Zmc2V0fVxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWdWNEF1dGhSZXNvbHZlZENvbmZpZyBleHRlbmRzIEF3c0F1dGhSZXNvbHZlZENvbmZpZyB7fVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUF3c0F1dGhDb25maWcgPSA8VD4oXG4gIGlucHV0OiBUICYgQXdzQXV0aElucHV0Q29uZmlnICYgUHJldmlvdXNseVJlc29sdmVkXG4pOiBUICYgQXdzQXV0aFJlc29sdmVkQ29uZmlnID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZENyZWRzID0gaW5wdXQuY3JlZGVudGlhbHNcbiAgICA/IG5vcm1hbGl6ZUNyZWRlbnRpYWxQcm92aWRlcihpbnB1dC5jcmVkZW50aWFscylcbiAgICA6IGlucHV0LmNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXIoaW5wdXQgYXMgYW55KTtcbiAgY29uc3QgeyBzaWduaW5nRXNjYXBlUGF0aCA9IHRydWUsIHN5c3RlbUNsb2NrT2Zmc2V0ID0gaW5wdXQuc3lzdGVtQ2xvY2tPZmZzZXQgfHwgMCwgc2hhMjU2IH0gPSBpbnB1dDtcbiAgbGV0IHNpZ25lcjogUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG4gIGlmIChpbnB1dC5zaWduZXIpIHtcbiAgICAvL2lmIHNpZ25lciBpcyBzdXBwbGllZCBieSB1c2VyLCBub3JtYWxpemUgaXQgdG8gYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBwcm9taXNlIGZvciBzaWduZXIuXG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoaW5wdXQuc2lnbmVyKTtcbiAgfSBlbHNlIHtcbiAgICAvL2NvbnN0cnVjdCBhIHByb3ZpZGVyIGluZmVycmluZyBzaWduaW5nIGZyb20gcmVnaW9uLlxuICAgIHNpZ25lciA9ICgpID0+XG4gICAgICBub3JtYWxpemVQcm92aWRlcihpbnB1dC5yZWdpb24pKClcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlZ2lvbikgPT4gWyhhd2FpdCBpbnB1dC5yZWdpb25JbmZvUHJvdmlkZXIocmVnaW9uKSkgfHwge30sIHJlZ2lvbl0gYXMgW1JlZ2lvbkluZm8sIHN0cmluZ10pXG4gICAgICAgIC50aGVuKChbcmVnaW9uSW5mbywgcmVnaW9uXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc2lnbmluZ1JlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgfSA9IHJlZ2lvbkluZm87XG4gICAgICAgICAgLy91cGRhdGUgY2xpZW50J3Mgc2luZ2luZyByZWdpb24gYW5kIHNpZ25pbmcgc2VydmljZSBjb25maWcgaWYgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICAgICAgLy9zaWduaW5nIHJlZ2lvbiByZXNvbHZpbmcgb3JkZXI6IHVzZXIgc3VwcGxpZWQgc2lnbmluZ1JlZ2lvbiAtPiBlbmRwb2ludHMuanNvbiBpbmZlcnJlZCByZWdpb24gLT4gY2xpZW50IHJlZ2lvblxuICAgICAgICAgIGlucHV0LnNpZ25pbmdSZWdpb24gPSBpbnB1dC5zaWduaW5nUmVnaW9uIHx8IHNpZ25pbmdSZWdpb24gfHwgcmVnaW9uO1xuICAgICAgICAgIC8vc2lnbmluZyBuYW1lIHJlc29sdmluZyBvcmRlcjpcbiAgICAgICAgICAvL3VzZXIgc3VwcGxpZWQgc2lnbmluZ05hbWUgLT4gZW5kcG9pbnRzLmpzb24gaW5mZXJyZWQgKGNyZWRlbnRpYWwgc2NvcGUgLT4gbW9kZWwgYXJuTmFtZXNwYWNlKSAtPiBtb2RlbCBzZXJ2aWNlIGlkXG4gICAgICAgICAgaW5wdXQuc2lnbmluZ05hbWUgPSBpbnB1dC5zaWduaW5nTmFtZSB8fCBzaWduaW5nU2VydmljZSB8fCBpbnB1dC5zZXJ2aWNlSWQ7XG5cbiAgICAgICAgICBjb25zdCBwYXJhbXM6IFNpZ25hdHVyZVY0SW5pdCAmIFNpZ25hdHVyZVY0Q3J5cHRvSW5pdCA9IHtcbiAgICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICAgICAgICAgIHJlZ2lvbjogaW5wdXQuc2lnbmluZ1JlZ2lvbixcbiAgICAgICAgICAgIHNlcnZpY2U6IGlucHV0LnNpZ25pbmdOYW1lLFxuICAgICAgICAgICAgc2hhMjU2LFxuICAgICAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCBzaWduZXJDb25zdHJ1Y3RvciA9IGlucHV0LnNpZ25lckNvbnN0cnVjdG9yIHx8IFNpZ25hdHVyZVY0O1xuICAgICAgICAgIHJldHVybiBuZXcgc2lnbmVyQ29uc3RydWN0b3IocGFyYW1zKTtcbiAgICAgICAgfSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIHN5c3RlbUNsb2NrT2Zmc2V0LFxuICAgIHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgc2lnbmVyLFxuICB9O1xufTtcblxuLy8gVE9ETzogcmVkdWNlIGNvZGUgZHVwbGljYXRpb25cbmV4cG9ydCBjb25zdCByZXNvbHZlU2lnVjRBdXRoQ29uZmlnID0gPFQ+KFxuICBpbnB1dDogVCAmIFNpZ1Y0QXV0aElucHV0Q29uZmlnICYgU2lnVjRQcmV2aW91c2x5UmVzb2x2ZWRcbik6IFQgJiBTaWdWNEF1dGhSZXNvbHZlZENvbmZpZyA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRDcmVkcyA9IGlucHV0LmNyZWRlbnRpYWxzXG4gICAgPyBub3JtYWxpemVDcmVkZW50aWFsUHJvdmlkZXIoaW5wdXQuY3JlZGVudGlhbHMpXG4gICAgOiBpbnB1dC5jcmVkZW50aWFsRGVmYXVsdFByb3ZpZGVyKGlucHV0IGFzIGFueSk7XG4gIGNvbnN0IHsgc2lnbmluZ0VzY2FwZVBhdGggPSB0cnVlLCBzeXN0ZW1DbG9ja09mZnNldCA9IGlucHV0LnN5c3RlbUNsb2NrT2Zmc2V0IHx8IDAsIHNoYTI1NiB9ID0gaW5wdXQ7XG4gIGxldCBzaWduZXI6IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuICBpZiAoaW5wdXQuc2lnbmVyKSB7XG4gICAgLy9pZiBzaWduZXIgaXMgc3VwcGxpZWQgYnkgdXNlciwgbm9ybWFsaXplIGl0IHRvIGEgZnVuY3Rpb24gcmV0dXJuaW5nIGEgcHJvbWlzZSBmb3Igc2lnbmVyLlxuICAgIHNpZ25lciA9IG5vcm1hbGl6ZVByb3ZpZGVyKGlucHV0LnNpZ25lcik7XG4gIH0gZWxzZSB7XG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoXG4gICAgICBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICBjcmVkZW50aWFsczogbm9ybWFsaXplZENyZWRzLFxuICAgICAgICByZWdpb246IGlucHV0LnJlZ2lvbixcbiAgICAgICAgc2VydmljZTogaW5wdXQuc2lnbmluZ05hbWUsXG4gICAgICAgIHNoYTI1NixcbiAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIHN5c3RlbUNsb2NrT2Zmc2V0LFxuICAgIHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgc2lnbmVyLFxuICB9O1xufTtcblxuY29uc3Qgbm9ybWFsaXplUHJvdmlkZXIgPSA8VD4oaW5wdXQ6IFQgfCBQcm92aWRlcjxUPik6IFByb3ZpZGVyPFQ+ID0+IHtcbiAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHByb21pc2lmaWVkID0gUHJvbWlzZS5yZXNvbHZlKGlucHV0KTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH1cbiAgcmV0dXJuIGlucHV0IGFzIFByb3ZpZGVyPFQ+O1xufTtcblxuY29uc3Qgbm9ybWFsaXplQ3JlZGVudGlhbFByb3ZpZGVyID0gKGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyB8IFByb3ZpZGVyPENyZWRlbnRpYWxzPik6IFByb3ZpZGVyPENyZWRlbnRpYWxzPiA9PiB7XG4gIGlmICh0eXBlb2YgY3JlZGVudGlhbHMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiBtZW1vaXplKFxuICAgICAgY3JlZGVudGlhbHMsXG4gICAgICAoY3JlZGVudGlhbHMpID0+XG4gICAgICAgIGNyZWRlbnRpYWxzLmV4cGlyYXRpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBjcmVkZW50aWFscy5leHBpcmF0aW9uLmdldFRpbWUoKSAtIERhdGUubm93KCkgPCBDUkVERU5USUFMX0VYUElSRV9XSU5ET1csXG4gICAgICAoY3JlZGVudGlhbHMpID0+IGNyZWRlbnRpYWxzLmV4cGlyYXRpb24gIT09IHVuZGVmaW5lZFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZVByb3ZpZGVyKGNyZWRlbnRpYWxzKTtcbn07XG4iXX0=
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./configurations"), exports);
5
+ tslib_1.__exportStar(require("./middleware"), exports);
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWlDO0FBQ2pDLHVEQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWRkbGV3YXJlXCI7XG4iXX0=
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin = exports.awsAuthMiddlewareOptions = exports.awsAuthMiddleware = void 0;
4
+ const protocol_http_1 = require("@aws-sdk/protocol-http");
5
+ const getSkewCorrectedDate_1 = require("./utils/getSkewCorrectedDate");
6
+ const getUpdatedSystemClockOffset_1 = require("./utils/getUpdatedSystemClockOffset");
7
+ const awsAuthMiddleware = (options) => (next, context) => async function (args) {
8
+ if (!protocol_http_1.HttpRequest.isInstance(args.request))
9
+ return next(args);
10
+ const signer = await options.signer();
11
+ const output = await next({
12
+ ...args,
13
+ request: await signer.sign(args.request, {
14
+ signingDate: getSkewCorrectedDate_1.getSkewCorrectedDate(options.systemClockOffset),
15
+ signingRegion: context["signing_region"],
16
+ signingService: context["signing_service"],
17
+ }),
18
+ }).catch((error) => {
19
+ if (error.ServerTime) {
20
+ options.systemClockOffset = getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset(error.ServerTime, options.systemClockOffset);
21
+ }
22
+ throw error;
23
+ });
24
+ const { headers } = output.response;
25
+ const dateHeader = headers && (headers.date || headers.Date);
26
+ if (dateHeader) {
27
+ options.systemClockOffset = getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset(dateHeader, options.systemClockOffset);
28
+ }
29
+ return output;
30
+ };
31
+ exports.awsAuthMiddleware = awsAuthMiddleware;
32
+ exports.awsAuthMiddlewareOptions = {
33
+ name: "awsAuthMiddleware",
34
+ tags: ["SIGNATURE", "AWSAUTH"],
35
+ relation: "after",
36
+ toMiddleware: "retryMiddleware",
37
+ override: true,
38
+ };
39
+ const getAwsAuthPlugin = (options) => ({
40
+ applyToStack: (clientStack) => {
41
+ clientStack.addRelativeTo(exports.awsAuthMiddleware(options), exports.awsAuthMiddlewareOptions);
42
+ },
43
+ });
44
+ exports.getAwsAuthPlugin = getAwsAuthPlugin;
45
+ exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUFxRDtBQVlyRCx1RUFBb0U7QUFDcEUscUZBQWtGO0FBRTNFLE1BQU0saUJBQWlCLEdBQzVCLENBQ0UsT0FBOEIsRUFDWSxFQUFFLENBQzlDLENBQUMsSUFBb0MsRUFBRSxPQUFnQyxFQUFrQyxFQUFFLENBQ3pHLEtBQUssV0FBVyxJQUFxQztJQUNuRCxJQUFJLENBQUMsMkJBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDO1FBQ3hCLEdBQUcsSUFBSTtRQUNQLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN2QyxXQUFXLEVBQUUsMkNBQW9CLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO1lBQzVELGFBQWEsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7WUFDeEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztTQUMzQyxDQUFDO0tBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2pCLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPLENBQUMsaUJBQWlCLEdBQUcseURBQTJCLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUN0RztRQUNELE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQWUsQ0FBQztJQUMzQyxNQUFNLFVBQVUsR0FBRyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxJQUFJLFVBQVUsRUFBRTtRQUNkLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyx5REFBMkIsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDaEc7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUE3Qk8sUUFBQSxpQkFBaUIscUJBNkJ4QjtBQUVPLFFBQUEsd0JBQXdCLEdBQThCO0lBQ2pFLElBQUksRUFBRSxtQkFBbUI7SUFDekIsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztJQUM5QixRQUFRLEVBQUUsT0FBTztJQUNqQixZQUFZLEVBQUUsaUJBQWlCO0lBQy9CLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUE4QixFQUF1QixFQUFFLENBQUMsQ0FBQztJQUN4RixZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsYUFBYSxDQUFDLHlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLGdDQUF3QixDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUpVLFFBQUEsZ0JBQWdCLG9CQUkxQjtBQUVVLFFBQUEsa0JBQWtCLEdBQUcsd0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQge1xuICBGaW5hbGl6ZUhhbmRsZXIsXG4gIEZpbmFsaXplSGFuZGxlckFyZ3VtZW50cyxcbiAgRmluYWxpemVIYW5kbGVyT3V0cHV0LFxuICBGaW5hbGl6ZVJlcXVlc3RNaWRkbGV3YXJlLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgUGx1Z2dhYmxlLFxuICBSZWxhdGl2ZU1pZGRsZXdhcmVPcHRpb25zLFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgQXdzQXV0aFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcbmltcG9ydCB7IGdldFNrZXdDb3JyZWN0ZWREYXRlIH0gZnJvbSBcIi4vdXRpbHMvZ2V0U2tld0NvcnJlY3RlZERhdGVcIjtcbmltcG9ydCB7IGdldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldCB9IGZyb20gXCIuL3V0aWxzL2dldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldFwiO1xuXG5leHBvcnQgY29uc3QgYXdzQXV0aE1pZGRsZXdhcmUgPVxuICA8SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCBleHRlbmRzIG9iamVjdD4oXG4gICAgb3B0aW9uczogQXdzQXV0aFJlc29sdmVkQ29uZmlnXG4gICk6IEZpbmFsaXplUmVxdWVzdE1pZGRsZXdhcmU8SW5wdXQsIE91dHB1dD4gPT5cbiAgKG5leHQ6IEZpbmFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PiwgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHQpOiBGaW5hbGl6ZUhhbmRsZXI8SW5wdXQsIE91dHB1dD4gPT5cbiAgICBhc3luYyBmdW5jdGlvbiAoYXJnczogRmluYWxpemVIYW5kbGVyQXJndW1lbnRzPElucHV0Pik6IFByb21pc2U8RmluYWxpemVIYW5kbGVyT3V0cHV0PE91dHB1dD4+IHtcbiAgICAgIGlmICghSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShhcmdzLnJlcXVlc3QpKSByZXR1cm4gbmV4dChhcmdzKTtcbiAgICAgIGNvbnN0IHNpZ25lciA9IGF3YWl0IG9wdGlvbnMuc2lnbmVyKCk7XG4gICAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBuZXh0KHtcbiAgICAgICAgLi4uYXJncyxcbiAgICAgICAgcmVxdWVzdDogYXdhaXQgc2lnbmVyLnNpZ24oYXJncy5yZXF1ZXN0LCB7XG4gICAgICAgICAgc2lnbmluZ0RhdGU6IGdldFNrZXdDb3JyZWN0ZWREYXRlKG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQpLFxuICAgICAgICAgIHNpZ25pbmdSZWdpb246IGNvbnRleHRbXCJzaWduaW5nX3JlZ2lvblwiXSxcbiAgICAgICAgICBzaWduaW5nU2VydmljZTogY29udGV4dFtcInNpZ25pbmdfc2VydmljZVwiXSxcbiAgICAgICAgfSksXG4gICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgaWYgKGVycm9yLlNlcnZlclRpbWUpIHtcbiAgICAgICAgICBvcHRpb25zLnN5c3RlbUNsb2NrT2Zmc2V0ID0gZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0KGVycm9yLlNlcnZlclRpbWUsIG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHsgaGVhZGVycyB9ID0gb3V0cHV0LnJlc3BvbnNlIGFzIGFueTtcbiAgICAgIGNvbnN0IGRhdGVIZWFkZXIgPSBoZWFkZXJzICYmIChoZWFkZXJzLmRhdGUgfHwgaGVhZGVycy5EYXRlKTtcbiAgICAgIGlmIChkYXRlSGVhZGVyKSB7XG4gICAgICAgIG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQgPSBnZXRVcGRhdGVkU3lzdGVtQ2xvY2tPZmZzZXQoZGF0ZUhlYWRlciwgb3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgfTtcblxuZXhwb3J0IGNvbnN0IGF3c0F1dGhNaWRkbGV3YXJlT3B0aW9uczogUmVsYXRpdmVNaWRkbGV3YXJlT3B0aW9ucyA9IHtcbiAgbmFtZTogXCJhd3NBdXRoTWlkZGxld2FyZVwiLFxuICB0YWdzOiBbXCJTSUdOQVRVUkVcIiwgXCJBV1NBVVRIXCJdLFxuICByZWxhdGlvbjogXCJhZnRlclwiLFxuICB0b01pZGRsZXdhcmU6IFwicmV0cnlNaWRkbGV3YXJlXCIsXG4gIG92ZXJyaWRlOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldEF3c0F1dGhQbHVnaW4gPSAob3B0aW9uczogQXdzQXV0aFJlc29sdmVkQ29uZmlnKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZFJlbGF0aXZlVG8oYXdzQXV0aE1pZGRsZXdhcmUob3B0aW9ucyksIGF3c0F1dGhNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGdldFNpZ1Y0QXV0aFBsdWdpbiA9IGdldEF3c0F1dGhQbHVnaW47XG4iXX0=
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSkewCorrectedDate = void 0;
4
+ const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);
5
+ exports.getSkewCorrectedDate = getSkewCorrectedDate;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2tld0NvcnJlY3RlZERhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZ2V0U2tld0NvcnJlY3RlZERhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS08sTUFBTSxvQkFBb0IsR0FBRyxDQUFDLGlCQUF5QixFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztBQUEvRixRQUFBLG9CQUFvQix3QkFBMkUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJldHVybnMgYSBkYXRlIHRoYXQgaXMgY29ycmVjdGVkIGZvciBjbG9jayBza2V3LlxuICpcbiAqIEBwYXJhbSBzeXN0ZW1DbG9ja09mZnNldCBUaGUgb2Zmc2V0IG9mIHRoZSBzeXN0ZW0gY2xvY2sgaW4gbWlsbGlzZWNvbmRzLlxuICovXG5leHBvcnQgY29uc3QgZ2V0U2tld0NvcnJlY3RlZERhdGUgPSAoc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcikgPT4gbmV3IERhdGUoRGF0ZS5ub3coKSArIHN5c3RlbUNsb2NrT2Zmc2V0KTtcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUpdatedSystemClockOffset = void 0;
4
+ const isClockSkewed_1 = require("./isClockSkewed");
5
+ const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {
6
+ const clockTimeInMs = Date.parse(clockTime);
7
+ if (isClockSkewed_1.isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {
8
+ return clockTimeInMs - Date.now();
9
+ }
10
+ return currentSystemClockOffset;
11
+ };
12
+ exports.getUpdatedSystemClockOffset = getUpdatedSystemClockOffset;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2dldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFTekMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLFNBQWlCLEVBQUUsd0JBQWdDLEVBQVUsRUFBRTtJQUN6RyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLElBQUksNkJBQWEsQ0FBQyxhQUFhLEVBQUUsd0JBQXdCLENBQUMsRUFBRTtRQUMxRCxPQUFPLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDbkM7SUFDRCxPQUFPLHdCQUF3QixDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQU5XLFFBQUEsMkJBQTJCLCtCQU10QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQ2xvY2tTa2V3ZWQgfSBmcm9tIFwiLi9pc0Nsb2NrU2tld2VkXCI7XG5cbi8qKlxuICogSWYgY2xvY2sgaXMgc2tld2VkLCBpdCByZXR1cm5zIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gc2VydmVyVGltZSBhbmQgY3VycmVudCB0aW1lLlxuICogSWYgY2xvY2sgaXMgbm90IHNrZXdlZCwgaXQgcmV0dXJucyBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQuXG4gKlxuICogQHBhcmFtIGNsb2NrVGltZSBUaGUgc3RyaW5nIHZhbHVlIG9mIHRoZSBzZXJ2ZXIgdGltZS5cbiAqIEBwYXJhbSBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQgVGhlIGN1cnJlbnQgc3lzdGVtIGNsb2NrIG9mZnNldC5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldCA9IChjbG9ja1RpbWU6IHN0cmluZywgY3VycmVudFN5c3RlbUNsb2NrT2Zmc2V0OiBudW1iZXIpOiBudW1iZXIgPT4ge1xuICBjb25zdCBjbG9ja1RpbWVJbk1zID0gRGF0ZS5wYXJzZShjbG9ja1RpbWUpO1xuICBpZiAoaXNDbG9ja1NrZXdlZChjbG9ja1RpbWVJbk1zLCBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQpKSB7XG4gICAgcmV0dXJuIGNsb2NrVGltZUluTXMgLSBEYXRlLm5vdygpO1xuICB9XG4gIHJldHVybiBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQ7XG59O1xuIl19
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isClockSkewed = void 0;
4
+ const getSkewCorrectedDate_1 = require("./getSkewCorrectedDate");
5
+ const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate_1.getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;
6
+ exports.isClockSkewed = isClockSkewed;
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNDbG9ja1NrZXdlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9pc0Nsb2NrU2tld2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlFQUE4RDtBQVF2RCxNQUFNLGFBQWEsR0FBRyxDQUFDLFNBQWlCLEVBQUUsaUJBQXlCLEVBQUUsRUFBRSxDQUM1RSxJQUFJLENBQUMsR0FBRyxDQUFDLDJDQUFvQixDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDO0FBRHZFLFFBQUEsYUFBYSxpQkFDMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRTa2V3Q29ycmVjdGVkRGF0ZSB9IGZyb20gXCIuL2dldFNrZXdDb3JyZWN0ZWREYXRlXCI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCBkYXRlIGlzIHdpdGhpbiB0aGUgc2tldyB3aW5kb3cgb2YgMzAwMDAwbXMuXG4gKlxuICogQHBhcmFtIGNsb2NrVGltZSAtIFRoZSB0aW1lIHRvIGNoZWNrIGZvciBza2V3IGluIG1pbGxpc2Vjb25kcy5cbiAqIEBwYXJhbSBzeXN0ZW1DbG9ja09mZnNldCAtIFRoZSBvZmZzZXQgb2YgdGhlIHN5c3RlbSBjbG9jayBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0Nsb2NrU2tld2VkID0gKGNsb2NrVGltZTogbnVtYmVyLCBzeXN0ZW1DbG9ja09mZnNldDogbnVtYmVyKSA9PlxuICBNYXRoLmFicyhnZXRTa2V3Q29ycmVjdGVkRGF0ZShzeXN0ZW1DbG9ja09mZnNldCkuZ2V0VGltZSgpIC0gY2xvY2tUaW1lKSA+PSAzMDAwMDA7XG4iXX0=
@@ -0,0 +1,72 @@
1
+ import { __assign, __awaiter, __generator, __read } from "tslib";
2
+ import { memoize } from "@aws-sdk/property-provider";
3
+ import { SignatureV4 } from "@aws-sdk/signature-v4";
4
+ var CREDENTIAL_EXPIRE_WINDOW = 300000;
5
+ export var resolveAwsAuthConfig = function (input) {
6
+ var normalizedCreds = input.credentials
7
+ ? normalizeCredentialProvider(input.credentials)
8
+ : input.credentialDefaultProvider(input);
9
+ var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;
10
+ var signer;
11
+ if (input.signer) {
12
+ signer = normalizeProvider(input.signer);
13
+ }
14
+ else {
15
+ signer = function () {
16
+ return normalizeProvider(input.region)()
17
+ .then(function (region) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
18
+ switch (_a.label) {
19
+ case 0: return [4, input.regionInfoProvider(region)];
20
+ case 1: return [2, [(_a.sent()) || {}, region]];
21
+ }
22
+ }); }); })
23
+ .then(function (_a) {
24
+ var _b = __read(_a, 2), regionInfo = _b[0], region = _b[1];
25
+ var signingRegion = regionInfo.signingRegion, signingService = regionInfo.signingService;
26
+ input.signingRegion = input.signingRegion || signingRegion || region;
27
+ input.signingName = input.signingName || signingService || input.serviceId;
28
+ var params = __assign(__assign({}, input), { credentials: normalizedCreds, region: input.signingRegion, service: input.signingName, sha256: sha256, uriEscapePath: signingEscapePath });
29
+ var signerConstructor = input.signerConstructor || SignatureV4;
30
+ return new signerConstructor(params);
31
+ });
32
+ };
33
+ }
34
+ return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });
35
+ };
36
+ export var resolveSigV4AuthConfig = function (input) {
37
+ var normalizedCreds = input.credentials
38
+ ? normalizeCredentialProvider(input.credentials)
39
+ : input.credentialDefaultProvider(input);
40
+ var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;
41
+ var signer;
42
+ if (input.signer) {
43
+ signer = normalizeProvider(input.signer);
44
+ }
45
+ else {
46
+ signer = normalizeProvider(new SignatureV4({
47
+ credentials: normalizedCreds,
48
+ region: input.region,
49
+ service: input.signingName,
50
+ sha256: sha256,
51
+ uriEscapePath: signingEscapePath,
52
+ }));
53
+ }
54
+ return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });
55
+ };
56
+ var normalizeProvider = function (input) {
57
+ if (typeof input === "object") {
58
+ var promisified_1 = Promise.resolve(input);
59
+ return function () { return promisified_1; };
60
+ }
61
+ return input;
62
+ };
63
+ var normalizeCredentialProvider = function (credentials) {
64
+ if (typeof credentials === "function") {
65
+ return memoize(credentials, function (credentials) {
66
+ return credentials.expiration !== undefined &&
67
+ credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW;
68
+ }, function (credentials) { return credentials.expiration !== undefined; });
69
+ }
70
+ return normalizeProvider(credentials);
71
+ };
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUEwQyxNQUFNLHVCQUF1QixDQUFDO0FBSTVGLElBQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDO0FBb0d4QyxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxVQUNsQyxLQUFrRDtJQUVsRCxJQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsV0FBVztRQUN2QyxDQUFDLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNoRCxDQUFDLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLEtBQVksQ0FBQyxDQUFDO0lBQzFDLElBQUEsS0FBdUYsS0FBSyxrQkFBcEUsRUFBeEIsaUJBQWlCLG1CQUFHLElBQUksS0FBQSxFQUFFLEtBQTZELEtBQUssa0JBQWxCLEVBQWhELGlCQUFpQixtQkFBRyxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQyxLQUFBLEVBQUUsTUFBTSxHQUFLLEtBQUssT0FBVixDQUFXO0lBQ3JHLElBQUksTUFBK0IsQ0FBQztJQUNwQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFFaEIsTUFBTSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMxQztTQUFNO1FBRUwsTUFBTSxHQUFHO1lBQ1AsT0FBQSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7aUJBQzlCLElBQUksQ0FBQyxVQUFPLE1BQU07OzRCQUFPLFdBQU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFBOzRCQUF4QyxXQUFBLENBQUMsQ0FBQyxTQUFzQyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBeUIsRUFB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QUFDLFVBQVUsS0FBSyxTQUFTO2dCQUNwQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyx3QkFBd0I7UUFEeEUsQ0FDd0UsRUFDMUUsVUFBQyxXQUFXLElBQUssT0FBQSxXQUFXLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBcEMsQ0FBb0MsQ0FDdEQsQ0FBQztLQUNIO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZW1vaXplIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBTaWduYXR1cmVWNCwgU2lnbmF0dXJlVjRDcnlwdG9Jbml0LCBTaWduYXR1cmVWNEluaXQgfSBmcm9tIFwiQGF3cy1zZGsvc2lnbmF0dXJlLXY0XCI7XG5pbXBvcnQgeyBDcmVkZW50aWFscywgSGFzaENvbnN0cnVjdG9yLCBQcm92aWRlciwgUmVnaW9uSW5mbywgUmVnaW9uSW5mb1Byb3ZpZGVyLCBSZXF1ZXN0U2lnbmVyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbi8vIDUgbWludXRlcyBidWZmZXIgdGltZSB0aGUgcmVmcmVzaCB0aGUgY3JlZGVudGlhbCBiZWZvcmUgaXQgcmVhbGx5IGV4cGlyZXNcbmNvbnN0IENSRURFTlRJQUxfRVhQSVJFX1dJTkRPVyA9IDMwMDAwMDtcblxuLy8gQXdzQXV0aCB2L3MgU2lnVjRBdXRoXG4vLyBBd3NBdXRoOiBzcGVjaWZpYyB0byBTaWdWNCBhdXRoIGZvciBBV1Mgc2VydmljZXNcbi8vIFNpZ1Y0QXV0aDogU2lnVjQgYXV0aCBmb3Igbm9uLUFXUyBzZXJ2aWNlc1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0F1dGhJbnB1dENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY3JlZGVudGlhbHMgdXNlZCB0byBzaWduIHJlcXVlc3RzLlxuICAgKi9cbiAgY3JlZGVudGlhbHM/OiBDcmVkZW50aWFscyB8IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcblxuICAvKipcbiAgICogVGhlIHNpZ25lciB0byB1c2Ugd2hlbiBzaWduaW5nIHJlcXVlc3RzLlxuICAgKi9cbiAgc2lnbmVyPzogUmVxdWVzdFNpZ25lciB8IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVzY2FwZSByZXF1ZXN0IHBhdGggd2hlbiBzaWduaW5nIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgc2lnbmluZ0VzY2FwZVBhdGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbiBvZmZzZXQgdmFsdWUgaW4gbWlsbGlzZWNvbmRzIHRvIGFwcGx5IHRvIGFsbCBzaWduaW5nIHRpbWVzLlxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb24gd2hlcmUgeW91IHdhbnQgdG8gc2lnbiB5b3VyIHJlcXVlc3QgYWdhaW5zdC4gVGhpc1xuICAgKiBjYW4gYmUgZGlmZmVyZW50IHRvIHRoZSByZWdpb24gaW4gdGhlIGVuZHBvaW50LlxuICAgKi9cbiAgc2lnbmluZ1JlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGluamVjdGFibGUgU2lnVjQtY29tcGF0aWJsZSBzaWduZXIgY2xhc3MgY29uc3RydWN0b3IuIElmIG5vdCBzdXBwbGllZCxcbiAgICogcmVndWxhciBTaWduYXR1cmVWNCBjb25zdHJ1Y3RvciB3aWxsIGJlIHVzZWQuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBzaWduZXJDb25zdHJ1Y3Rvcj86IG5ldyAob3B0aW9uczogU2lnbmF0dXJlVjRJbml0ICYgU2lnbmF0dXJlVjRDcnlwdG9Jbml0KSA9PiBSZXF1ZXN0U2lnbmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ1Y0QXV0aElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyB1c2VkIHRvIHNpZ24gcmVxdWVzdHMuXG4gICAqL1xuICBjcmVkZW50aWFscz86IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmVyIHRvIHVzZSB3aGVuIHNpZ25pbmcgcmVxdWVzdHMuXG4gICAqL1xuICBzaWduZXI/OiBSZXF1ZXN0U2lnbmVyIHwgUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXNjYXBlIHJlcXVlc3QgcGF0aCB3aGVuIHNpZ25pbmcgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBzaWduaW5nRXNjYXBlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFuIG9mZnNldCB2YWx1ZSBpbiBtaWxsaXNlY29uZHMgdG8gYXBwbHkgdG8gYWxsIHNpZ25pbmcgdGltZXMuXG4gICAqL1xuICBzeXN0ZW1DbG9ja09mZnNldD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG4gIHNpZ25pbmdOYW1lPzogc3RyaW5nO1xuICBzZXJ2aWNlSWQ6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmludGVyZmFjZSBTaWdWNFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgc2lnbmluZ05hbWU6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQXV0aFJlc29sdmVkQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5jcmVkZW50aWFsc31cbiAgICovXG4gIGNyZWRlbnRpYWxzOiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBBd3NBdXRoSW5wdXRDb25maWcuc2lnbmVyfVxuICAgKi9cbiAgc2lnbmVyOiBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5zaWduaW5nRXNjYXBlUGF0aH1cbiAgICovXG4gIHNpZ25pbmdFc2NhcGVQYXRoOiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQXdzQXV0aElucHV0Q29uZmlnLnN5c3RlbUNsb2NrT2Zmc2V0fVxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWdWNEF1dGhSZXNvbHZlZENvbmZpZyBleHRlbmRzIEF3c0F1dGhSZXNvbHZlZENvbmZpZyB7fVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUF3c0F1dGhDb25maWcgPSA8VD4oXG4gIGlucHV0OiBUICYgQXdzQXV0aElucHV0Q29uZmlnICYgUHJldmlvdXNseVJlc29sdmVkXG4pOiBUICYgQXdzQXV0aFJlc29sdmVkQ29uZmlnID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZENyZWRzID0gaW5wdXQuY3JlZGVudGlhbHNcbiAgICA/IG5vcm1hbGl6ZUNyZWRlbnRpYWxQcm92aWRlcihpbnB1dC5jcmVkZW50aWFscylcbiAgICA6IGlucHV0LmNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXIoaW5wdXQgYXMgYW55KTtcbiAgY29uc3QgeyBzaWduaW5nRXNjYXBlUGF0aCA9IHRydWUsIHN5c3RlbUNsb2NrT2Zmc2V0ID0gaW5wdXQuc3lzdGVtQ2xvY2tPZmZzZXQgfHwgMCwgc2hhMjU2IH0gPSBpbnB1dDtcbiAgbGV0IHNpZ25lcjogUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG4gIGlmIChpbnB1dC5zaWduZXIpIHtcbiAgICAvL2lmIHNpZ25lciBpcyBzdXBwbGllZCBieSB1c2VyLCBub3JtYWxpemUgaXQgdG8gYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBwcm9taXNlIGZvciBzaWduZXIuXG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoaW5wdXQuc2lnbmVyKTtcbiAgfSBlbHNlIHtcbiAgICAvL2NvbnN0cnVjdCBhIHByb3ZpZGVyIGluZmVycmluZyBzaWduaW5nIGZyb20gcmVnaW9uLlxuICAgIHNpZ25lciA9ICgpID0+XG4gICAgICBub3JtYWxpemVQcm92aWRlcihpbnB1dC5yZWdpb24pKClcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlZ2lvbikgPT4gWyhhd2FpdCBpbnB1dC5yZWdpb25JbmZvUHJvdmlkZXIocmVnaW9uKSkgfHwge30sIHJlZ2lvbl0gYXMgW1JlZ2lvbkluZm8sIHN0cmluZ10pXG4gICAgICAgIC50aGVuKChbcmVnaW9uSW5mbywgcmVnaW9uXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc2lnbmluZ1JlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgfSA9IHJlZ2lvbkluZm87XG4gICAgICAgICAgLy91cGRhdGUgY2xpZW50J3Mgc2luZ2luZyByZWdpb24gYW5kIHNpZ25pbmcgc2VydmljZSBjb25maWcgaWYgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICAgICAgLy9zaWduaW5nIHJlZ2lvbiByZXNvbHZpbmcgb3JkZXI6IHVzZXIgc3VwcGxpZWQgc2lnbmluZ1JlZ2lvbiAtPiBlbmRwb2ludHMuanNvbiBpbmZlcnJlZCByZWdpb24gLT4gY2xpZW50IHJlZ2lvblxuICAgICAgICAgIGlucHV0LnNpZ25pbmdSZWdpb24gPSBpbnB1dC5zaWduaW5nUmVnaW9uIHx8IHNpZ25pbmdSZWdpb24gfHwgcmVnaW9uO1xuICAgICAgICAgIC8vc2lnbmluZyBuYW1lIHJlc29sdmluZyBvcmRlcjpcbiAgICAgICAgICAvL3VzZXIgc3VwcGxpZWQgc2lnbmluZ05hbWUgLT4gZW5kcG9pbnRzLmpzb24gaW5mZXJyZWQgKGNyZWRlbnRpYWwgc2NvcGUgLT4gbW9kZWwgYXJuTmFtZXNwYWNlKSAtPiBtb2RlbCBzZXJ2aWNlIGlkXG4gICAgICAgICAgaW5wdXQuc2lnbmluZ05hbWUgPSBpbnB1dC5zaWduaW5nTmFtZSB8fCBzaWduaW5nU2VydmljZSB8fCBpbnB1dC5zZXJ2aWNlSWQ7XG5cbiAgICAgICAgICBjb25zdCBwYXJhbXM6IFNpZ25hdHVyZVY0SW5pdCAmIFNpZ25hdHVyZVY0Q3J5cHRvSW5pdCA9IHtcbiAgICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICAgICAgICAgIHJlZ2lvbjogaW5wdXQuc2lnbmluZ1JlZ2lvbixcbiAgICAgICAgICAgIHNlcnZpY2U6IGlucHV0LnNpZ25pbmdOYW1lLFxuICAgICAgICAgICAgc2hhMjU2LFxuICAgICAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCBzaWduZXJDb25zdHJ1Y3RvciA9IGlucHV0LnNpZ25lckNvbnN0cnVjdG9yIHx8IFNpZ25hdHVyZVY0O1xuICAgICAgICAgIHJldHVybiBuZXcgc2lnbmVyQ29uc3RydWN0b3IocGFyYW1zKTtcbiAgICAgICAgfSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIHN5c3RlbUNsb2NrT2Zmc2V0LFxuICAgIHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgc2lnbmVyLFxuICB9O1xufTtcblxuLy8gVE9ETzogcmVkdWNlIGNvZGUgZHVwbGljYXRpb25cbmV4cG9ydCBjb25zdCByZXNvbHZlU2lnVjRBdXRoQ29uZmlnID0gPFQ+KFxuICBpbnB1dDogVCAmIFNpZ1Y0QXV0aElucHV0Q29uZmlnICYgU2lnVjRQcmV2aW91c2x5UmVzb2x2ZWRcbik6IFQgJiBTaWdWNEF1dGhSZXNvbHZlZENvbmZpZyA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRDcmVkcyA9IGlucHV0LmNyZWRlbnRpYWxzXG4gICAgPyBub3JtYWxpemVDcmVkZW50aWFsUHJvdmlkZXIoaW5wdXQuY3JlZGVudGlhbHMpXG4gICAgOiBpbnB1dC5jcmVkZW50aWFsRGVmYXVsdFByb3ZpZGVyKGlucHV0IGFzIGFueSk7XG4gIGNvbnN0IHsgc2lnbmluZ0VzY2FwZVBhdGggPSB0cnVlLCBzeXN0ZW1DbG9ja09mZnNldCA9IGlucHV0LnN5c3RlbUNsb2NrT2Zmc2V0IHx8IDAsIHNoYTI1NiB9ID0gaW5wdXQ7XG4gIGxldCBzaWduZXI6IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuICBpZiAoaW5wdXQuc2lnbmVyKSB7XG4gICAgLy9pZiBzaWduZXIgaXMgc3VwcGxpZWQgYnkgdXNlciwgbm9ybWFsaXplIGl0IHRvIGEgZnVuY3Rpb24gcmV0dXJuaW5nIGEgcHJvbWlzZSBmb3Igc2lnbmVyLlxuICAgIHNpZ25lciA9IG5vcm1hbGl6ZVByb3ZpZGVyKGlucHV0LnNpZ25lcik7XG4gIH0gZWxzZSB7XG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoXG4gICAgICBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICBjcmVkZW50aWFsczogbm9ybWFsaXplZENyZWRzLFxuICAgICAgICByZWdpb246IGlucHV0LnJlZ2lvbixcbiAgICAgICAgc2VydmljZTogaW5wdXQuc2lnbmluZ05hbWUsXG4gICAgICAgIHNoYTI1NixcbiAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIHN5c3RlbUNsb2NrT2Zmc2V0LFxuICAgIHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgc2lnbmVyLFxuICB9O1xufTtcblxuY29uc3Qgbm9ybWFsaXplUHJvdmlkZXIgPSA8VD4oaW5wdXQ6IFQgfCBQcm92aWRlcjxUPik6IFByb3ZpZGVyPFQ+ID0+IHtcbiAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHByb21pc2lmaWVkID0gUHJvbWlzZS5yZXNvbHZlKGlucHV0KTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH1cbiAgcmV0dXJuIGlucHV0IGFzIFByb3ZpZGVyPFQ+O1xufTtcblxuY29uc3Qgbm9ybWFsaXplQ3JlZGVudGlhbFByb3ZpZGVyID0gKGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyB8IFByb3ZpZGVyPENyZWRlbnRpYWxzPik6IFByb3ZpZGVyPENyZWRlbnRpYWxzPiA9PiB7XG4gIGlmICh0eXBlb2YgY3JlZGVudGlhbHMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiBtZW1vaXplKFxuICAgICAgY3JlZGVudGlhbHMsXG4gICAgICAoY3JlZGVudGlhbHMpID0+XG4gICAgICAgIGNyZWRlbnRpYWxzLmV4cGlyYXRpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBjcmVkZW50aWFscy5leHBpcmF0aW9uLmdldFRpbWUoKSAtIERhdGUubm93KCkgPCBDUkVERU5USUFMX0VYUElSRV9XSU5ET1csXG4gICAgICAoY3JlZGVudGlhbHMpID0+IGNyZWRlbnRpYWxzLmV4cGlyYXRpb24gIT09IHVuZGVmaW5lZFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZVByb3ZpZGVyKGNyZWRlbnRpYWxzKTtcbn07XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from "./configurations";
2
+ export * from "./middleware";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWRkbGV3YXJlXCI7XG4iXX0=
@@ -0,0 +1,60 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
+ import { HttpRequest } from "@aws-sdk/protocol-http";
3
+ import { getSkewCorrectedDate } from "./utils/getSkewCorrectedDate";
4
+ import { getUpdatedSystemClockOffset } from "./utils/getUpdatedSystemClockOffset";
5
+ export var awsAuthMiddleware = function (options) {
6
+ return function (next, context) {
7
+ return function (args) {
8
+ return __awaiter(this, void 0, void 0, function () {
9
+ var signer, output, _a, _b, headers, dateHeader;
10
+ var _c;
11
+ return __generator(this, function (_d) {
12
+ switch (_d.label) {
13
+ case 0:
14
+ if (!HttpRequest.isInstance(args.request))
15
+ return [2, next(args)];
16
+ return [4, options.signer()];
17
+ case 1:
18
+ signer = _d.sent();
19
+ _a = next;
20
+ _b = [__assign({}, args)];
21
+ _c = {};
22
+ return [4, signer.sign(args.request, {
23
+ signingDate: getSkewCorrectedDate(options.systemClockOffset),
24
+ signingRegion: context["signing_region"],
25
+ signingService: context["signing_service"],
26
+ })];
27
+ case 2: return [4, _a.apply(void 0, [__assign.apply(void 0, _b.concat([(_c.request = _d.sent(), _c)]))]).catch(function (error) {
28
+ if (error.ServerTime) {
29
+ options.systemClockOffset = getUpdatedSystemClockOffset(error.ServerTime, options.systemClockOffset);
30
+ }
31
+ throw error;
32
+ })];
33
+ case 3:
34
+ output = _d.sent();
35
+ headers = output.response.headers;
36
+ dateHeader = headers && (headers.date || headers.Date);
37
+ if (dateHeader) {
38
+ options.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, options.systemClockOffset);
39
+ }
40
+ return [2, output];
41
+ }
42
+ });
43
+ });
44
+ };
45
+ };
46
+ };
47
+ export var awsAuthMiddlewareOptions = {
48
+ name: "awsAuthMiddleware",
49
+ tags: ["SIGNATURE", "AWSAUTH"],
50
+ relation: "after",
51
+ toMiddleware: "retryMiddleware",
52
+ override: true,
53
+ };
54
+ export var getAwsAuthPlugin = function (options) { return ({
55
+ applyToStack: function (clientStack) {
56
+ clientStack.addRelativeTo(awsAuthMiddleware(options), awsAuthMiddlewareOptions);
57
+ },
58
+ }); };
59
+ export var getSigV4AuthPlugin = getAwsAuthPlugin;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFZckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFbEYsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQzVCLFVBQ0UsT0FBOEI7SUFFaEMsT0FBQSxVQUFDLElBQW9DLEVBQUUsT0FBZ0M7UUFDckUsT0FBQSxVQUFnQixJQUFxQzs7Ozs7Ozs0QkFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQ0FBRSxXQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQzs0QkFDOUMsV0FBTSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUE7OzRCQUEvQixNQUFNLEdBQUcsU0FBc0I7NEJBQ2hCLEtBQUEsSUFBSSxDQUFBOytDQUNwQixJQUFJOzs0QkFDRSxXQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQ0FDdkMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztvQ0FDNUQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztvQ0FDeEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztpQ0FDM0MsQ0FBQyxFQUFBO2dDQU5XLFdBQU0scURBRW5CLFVBQU8sR0FBRSxTQUlQLFVBQ0YsQ0FBQyxLQUFLLENBQUMsVUFBQyxLQUFLO2dDQUNiLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtvQ0FDcEIsT0FBTyxDQUFDLGlCQUFpQixHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7aUNBQ3RHO2dDQUNELE1BQU0sS0FBSyxDQUFDOzRCQUNkLENBQUMsQ0FBQyxFQUFBOzs0QkFaSSxNQUFNLEdBQUcsU0FZYjs0QkFFTSxPQUFPLEdBQUssTUFBTSxDQUFDLFFBQWUsUUFBM0IsQ0FBNEI7NEJBQ3JDLFVBQVUsR0FBRyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDN0QsSUFBSSxVQUFVLEVBQUU7Z0NBQ2QsT0FBTyxDQUFDLGlCQUFpQixHQUFHLDJCQUEyQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQzs2QkFDaEc7NEJBRUQsV0FBTyxNQUFNLEVBQUM7Ozs7U0FDZjtJQXhCRCxDQXdCQztBQXpCSCxDQXlCRyxDQUFDO0FBRU4sTUFBTSxDQUFDLElBQU0sd0JBQXdCLEdBQThCO0lBQ2pFLElBQUksRUFBRSxtQkFBbUI7SUFDekIsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztJQUM5QixRQUFRLEVBQUUsT0FBTztJQUNqQixZQUFZLEVBQUUsaUJBQWlCO0lBQy9CLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLFVBQUMsT0FBOEIsSUFBMEIsT0FBQSxDQUFDO0lBQ3hGLFlBQVksRUFBRSxVQUFDLFdBQVc7UUFDeEIsV0FBVyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Q0FDRixDQUFDLEVBSnVGLENBSXZGLENBQUM7QUFFSCxNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7XG4gIEZpbmFsaXplSGFuZGxlcixcbiAgRmluYWxpemVIYW5kbGVyQXJndW1lbnRzLFxuICBGaW5hbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIEZpbmFsaXplUmVxdWVzdE1pZGRsZXdhcmUsXG4gIEhhbmRsZXJFeGVjdXRpb25Db250ZXh0LFxuICBQbHVnZ2FibGUsXG4gIFJlbGF0aXZlTWlkZGxld2FyZU9wdGlvbnMsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBBd3NBdXRoUmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuaW1wb3J0IHsgZ2V0U2tld0NvcnJlY3RlZERhdGUgfSBmcm9tIFwiLi91dGlscy9nZXRTa2V3Q29ycmVjdGVkRGF0ZVwiO1xuaW1wb3J0IHsgZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0IH0gZnJvbSBcIi4vdXRpbHMvZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0XCI7XG5cbmV4cG9ydCBjb25zdCBhd3NBdXRoTWlkZGxld2FyZSA9XG4gIDxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0PihcbiAgICBvcHRpb25zOiBBd3NBdXRoUmVzb2x2ZWRDb25maWdcbiAgKTogRmluYWxpemVSZXF1ZXN0TWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PiA9PlxuICAobmV4dDogRmluYWxpemVIYW5kbGVyPElucHV0LCBPdXRwdXQ+LCBjb250ZXh0OiBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCk6IEZpbmFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PiA9PlxuICAgIGFzeW5jIGZ1bmN0aW9uIChhcmdzOiBGaW5hbGl6ZUhhbmRsZXJBcmd1bWVudHM8SW5wdXQ+KTogUHJvbWlzZTxGaW5hbGl6ZUhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4ge1xuICAgICAgaWYgKCFIdHRwUmVxdWVzdC5pc0luc3RhbmNlKGFyZ3MucmVxdWVzdCkpIHJldHVybiBuZXh0KGFyZ3MpO1xuICAgICAgY29uc3Qgc2lnbmVyID0gYXdhaXQgb3B0aW9ucy5zaWduZXIoKTtcbiAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IG5leHQoe1xuICAgICAgICAuLi5hcmdzLFxuICAgICAgICByZXF1ZXN0OiBhd2FpdCBzaWduZXIuc2lnbihhcmdzLnJlcXVlc3QsIHtcbiAgICAgICAgICBzaWduaW5nRGF0ZTogZ2V0U2tld0NvcnJlY3RlZERhdGUob3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCksXG4gICAgICAgICAgc2lnbmluZ1JlZ2lvbjogY29udGV4dFtcInNpZ25pbmdfcmVnaW9uXCJdLFxuICAgICAgICAgIHNpZ25pbmdTZXJ2aWNlOiBjb250ZXh0W1wic2lnbmluZ19zZXJ2aWNlXCJdLFxuICAgICAgICB9KSxcbiAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IuU2VydmVyVGltZSkge1xuICAgICAgICAgIG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQgPSBnZXRVcGRhdGVkU3lzdGVtQ2xvY2tPZmZzZXQoZXJyb3IuU2VydmVyVGltZSwgb3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgeyBoZWFkZXJzIH0gPSBvdXRwdXQucmVzcG9uc2UgYXMgYW55O1xuICAgICAgY29uc3QgZGF0ZUhlYWRlciA9IGhlYWRlcnMgJiYgKGhlYWRlcnMuZGF0ZSB8fCBoZWFkZXJzLkRhdGUpO1xuICAgICAgaWYgKGRhdGVIZWFkZXIpIHtcbiAgICAgICAgb3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCA9IGdldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldChkYXRlSGVhZGVyLCBvcHRpb25zLnN5c3RlbUNsb2NrT2Zmc2V0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9O1xuXG5leHBvcnQgY29uc3QgYXdzQXV0aE1pZGRsZXdhcmVPcHRpb25zOiBSZWxhdGl2ZU1pZGRsZXdhcmVPcHRpb25zID0ge1xuICBuYW1lOiBcImF3c0F1dGhNaWRkbGV3YXJlXCIsXG4gIHRhZ3M6IFtcIlNJR05BVFVSRVwiLCBcIkFXU0FVVEhcIl0sXG4gIHJlbGF0aW9uOiBcImFmdGVyXCIsXG4gIHRvTWlkZGxld2FyZTogXCJyZXRyeU1pZGRsZXdhcmVcIixcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXdzQXV0aFBsdWdpbiA9IChvcHRpb25zOiBBd3NBdXRoUmVzb2x2ZWRDb25maWcpOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogKGNsaWVudFN0YWNrKSA9PiB7XG4gICAgY2xpZW50U3RhY2suYWRkUmVsYXRpdmVUbyhhd3NBdXRoTWlkZGxld2FyZShvcHRpb25zKSwgYXdzQXV0aE1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0U2lnVjRBdXRoUGx1Z2luID0gZ2V0QXdzQXV0aFBsdWdpbjtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export var getSkewCorrectedDate = function (systemClockOffset) { return new Date(Date.now() + systemClockOffset); };
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2tld0NvcnJlY3RlZERhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZ2V0U2tld0NvcnJlY3RlZERhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxDQUFDLElBQU0sb0JBQW9CLEdBQUcsVUFBQyxpQkFBeUIsSUFBSyxPQUFBLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxFQUF4QyxDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm5zIGEgZGF0ZSB0aGF0IGlzIGNvcnJlY3RlZCBmb3IgY2xvY2sgc2tldy5cbiAqXG4gKiBAcGFyYW0gc3lzdGVtQ2xvY2tPZmZzZXQgVGhlIG9mZnNldCBvZiB0aGUgc3lzdGVtIGNsb2NrIGluIG1pbGxpc2Vjb25kcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFNrZXdDb3JyZWN0ZWREYXRlID0gKHN5c3RlbUNsb2NrT2Zmc2V0OiBudW1iZXIpID0+IG5ldyBEYXRlKERhdGUubm93KCkgKyBzeXN0ZW1DbG9ja09mZnNldCk7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { isClockSkewed } from "./isClockSkewed";
2
+ export var getUpdatedSystemClockOffset = function (clockTime, currentSystemClockOffset) {
3
+ var clockTimeInMs = Date.parse(clockTime);
4
+ if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {
5
+ return clockTimeInMs - Date.now();
6
+ }
7
+ return currentSystemClockOffset;
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2dldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFTaEQsTUFBTSxDQUFDLElBQU0sMkJBQTJCLEdBQUcsVUFBQyxTQUFpQixFQUFFLHdCQUFnQztJQUM3RixJQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLElBQUksYUFBYSxDQUFDLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxFQUFFO1FBQzFELE9BQU8sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUNuQztJQUNELE9BQU8sd0JBQXdCLENBQUM7QUFDbEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNDbG9ja1NrZXdlZCB9IGZyb20gXCIuL2lzQ2xvY2tTa2V3ZWRcIjtcblxuLyoqXG4gKiBJZiBjbG9jayBpcyBza2V3ZWQsIGl0IHJldHVybnMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBzZXJ2ZXJUaW1lIGFuZCBjdXJyZW50IHRpbWUuXG4gKiBJZiBjbG9jayBpcyBub3Qgc2tld2VkLCBpdCByZXR1cm5zIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldC5cbiAqXG4gKiBAcGFyYW0gY2xvY2tUaW1lIFRoZSBzdHJpbmcgdmFsdWUgb2YgdGhlIHNlcnZlciB0aW1lLlxuICogQHBhcmFtIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldCBUaGUgY3VycmVudCBzeXN0ZW0gY2xvY2sgb2Zmc2V0LlxuICovXG5leHBvcnQgY29uc3QgZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0ID0gKGNsb2NrVGltZTogc3RyaW5nLCBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcik6IG51bWJlciA9PiB7XG4gIGNvbnN0IGNsb2NrVGltZUluTXMgPSBEYXRlLnBhcnNlKGNsb2NrVGltZSk7XG4gIGlmIChpc0Nsb2NrU2tld2VkKGNsb2NrVGltZUluTXMsIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldCkpIHtcbiAgICByZXR1cm4gY2xvY2tUaW1lSW5NcyAtIERhdGUubm93KCk7XG4gIH1cbiAgcmV0dXJuIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldDtcbn07XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { getSkewCorrectedDate } from "./getSkewCorrectedDate";
2
+ export var isClockSkewed = function (clockTime, systemClockOffset) {
3
+ return Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;
4
+ };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNDbG9ja1NrZXdlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9pc0Nsb2NrU2tld2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUTlELE1BQU0sQ0FBQyxJQUFNLGFBQWEsR0FBRyxVQUFDLFNBQWlCLEVBQUUsaUJBQXlCO0lBQ3hFLE9BQUEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQyxJQUFJLE1BQU07QUFBakYsQ0FBaUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNrZXdDb3JyZWN0ZWREYXRlIH0gZnJvbSBcIi4vZ2V0U2tld0NvcnJlY3RlZERhdGVcIjtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIHByb3ZpZGVkIGRhdGUgaXMgd2l0aGluIHRoZSBza2V3IHdpbmRvdyBvZiAzMDAwMDBtcy5cbiAqXG4gKiBAcGFyYW0gY2xvY2tUaW1lIC0gVGhlIHRpbWUgdG8gY2hlY2sgZm9yIHNrZXcgaW4gbWlsbGlzZWNvbmRzLlxuICogQHBhcmFtIHN5c3RlbUNsb2NrT2Zmc2V0IC0gVGhlIG9mZnNldCBvZiB0aGUgc3lzdGVtIGNsb2NrIGluIG1pbGxpc2Vjb25kcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ2xvY2tTa2V3ZWQgPSAoY2xvY2tUaW1lOiBudW1iZXIsIHN5c3RlbUNsb2NrT2Zmc2V0OiBudW1iZXIpID0+XG4gIE1hdGguYWJzKGdldFNrZXdDb3JyZWN0ZWREYXRlKHN5c3RlbUNsb2NrT2Zmc2V0KS5nZXRUaW1lKCkgLSBjbG9ja1RpbWUpID49IDMwMDAwMDtcbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { SignatureV4CryptoInit, SignatureV4Init } from "@aws-sdk/signature-v4";
1
2
  import { Credentials, HashConstructor, Provider, RegionInfoProvider, RequestSigner } from "@aws-sdk/types";
2
3
  export interface AwsAuthInputConfig {
3
4
  /**
@@ -21,6 +22,12 @@ export interface AwsAuthInputConfig {
21
22
  * can be different to the region in the endpoint.
22
23
  */
23
24
  signingRegion?: string;
25
+ /**
26
+ * The injectable SigV4-compatible signer class constructor. If not supplied,
27
+ * regular SignatureV4 constructor will be used.
28
+ * @private
29
+ */
30
+ signerConstructor?: new (options: SignatureV4Init & SignatureV4CryptoInit) => RequestSigner;
24
31
  }
25
32
  export interface SigV4AuthInputConfig {
26
33
  /**
File without changes
File without changes
@@ -1,3 +1,4 @@
1
+ import { SignatureV4CryptoInit, SignatureV4Init } from "@aws-sdk/signature-v4";
1
2
  import { Credentials, HashConstructor, Provider, RegionInfoProvider, RequestSigner } from "@aws-sdk/types";
2
3
  export interface AwsAuthInputConfig {
3
4
  /**
@@ -21,6 +22,12 @@ export interface AwsAuthInputConfig {
21
22
  * can be different to the region in the endpoint.
22
23
  */
23
24
  signingRegion?: string;
25
+ /**
26
+ * The injectable SigV4-compatible signer class constructor. If not supplied,
27
+ * regular SignatureV4 constructor will be used.
28
+ * @private
29
+ */
30
+ signerConstructor?: new (options: SignatureV4Init & SignatureV4CryptoInit) => RequestSigner;
24
31
  }
25
32
  export interface SigV4AuthInputConfig {
26
33
  /**
File without changes
File without changes
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-signing",
3
- "version": "3.30.0",
3
+ "version": "3.35.0",
4
4
  "scripts": {
5
+ "build": "yarn build:cjs && yarn build:es && yarn build:types",
5
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
6
7
  "build:es": "tsc -p tsconfig.es.json",
7
- "build": "yarn build:es && yarn build:cjs",
8
- "downlevel-dts": "downlevel-dts dist/types dist/types/ts3.4",
8
+ "build:types": "tsc -p tsconfig.types.json",
9
+ "downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4",
9
10
  "test": "jest"
10
11
  },
11
- "main": "./dist/cjs/index.js",
12
- "module": "./dist/es/index.js",
13
- "types": "./dist/types/index.d.ts",
12
+ "main": "./dist-cjs/index.js",
13
+ "module": "./dist-es/index.js",
14
+ "types": "./dist-types/index.d.ts",
14
15
  "author": {
15
16
  "name": "AWS SDK for JavaScript Team",
16
17
  "url": "https://aws.amazon.com/javascript/"
@@ -19,13 +20,13 @@
19
20
  "devDependencies": {
20
21
  "@types/jest": "^26.0.4",
21
22
  "jest": "^26.1.0",
22
- "typescript": "~4.4.2"
23
+ "typescript": "~4.3.5"
23
24
  },
24
25
  "dependencies": {
25
- "@aws-sdk/property-provider": "3.29.0",
26
- "@aws-sdk/protocol-http": "3.29.0",
27
- "@aws-sdk/signature-v4": "3.30.0",
28
- "@aws-sdk/types": "3.29.0",
26
+ "@aws-sdk/property-provider": "3.35.0",
27
+ "@aws-sdk/protocol-http": "3.35.0",
28
+ "@aws-sdk/signature-v4": "3.35.0",
29
+ "@aws-sdk/types": "3.35.0",
29
30
  "tslib": "^2.3.0"
30
31
  },
31
32
  "engines": {
@@ -33,8 +34,8 @@
33
34
  },
34
35
  "typesVersions": {
35
36
  "<4.0": {
36
- "dist/types/*": [
37
- "dist/types/ts3.4/*"
37
+ "dist-types/*": [
38
+ "dist-types/ts3.4/*"
38
39
  ]
39
40
  }
40
41
  },
@@ -1,5 +1,5 @@
1
1
  import { memoize } from "@aws-sdk/property-provider";
2
- import { SignatureV4 } from "@aws-sdk/signature-v4";
2
+ import { SignatureV4, SignatureV4CryptoInit, SignatureV4Init } from "@aws-sdk/signature-v4";
3
3
  import { Credentials, HashConstructor, Provider, RegionInfo, RegionInfoProvider, RequestSigner } from "@aws-sdk/types";
4
4
 
5
5
  // 5 minutes buffer time the refresh the credential before it really expires
@@ -35,6 +35,13 @@ export interface AwsAuthInputConfig {
35
35
  * can be different to the region in the endpoint.
36
36
  */
37
37
  signingRegion?: string;
38
+
39
+ /**
40
+ * The injectable SigV4-compatible signer class constructor. If not supplied,
41
+ * regular SignatureV4 constructor will be used.
42
+ * @private
43
+ */
44
+ signerConstructor?: new (options: SignatureV4Init & SignatureV4CryptoInit) => RequestSigner;
38
45
  }
39
46
 
40
47
  export interface SigV4AuthInputConfig {
@@ -121,13 +128,16 @@ export const resolveAwsAuthConfig = <T>(
121
128
  //user supplied signingName -> endpoints.json inferred (credential scope -> model arnNamespace) -> model service id
122
129
  input.signingName = input.signingName || signingService || input.serviceId;
123
130
 
124
- return new SignatureV4({
131
+ const params: SignatureV4Init & SignatureV4CryptoInit = {
132
+ ...input,
125
133
  credentials: normalizedCreds,
126
134
  region: input.signingRegion,
127
135
  service: input.signingName,
128
136
  sha256,
129
137
  uriEscapePath: signingEscapePath,
130
- });
138
+ };
139
+ const signerConstructor = input.signerConstructor || SignatureV4;
140
+ return new signerConstructor(params);
131
141
  });
132
142
  }
133
143
 
package/tsconfig.cjs.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "declarationDir": "./dist/types",
4
- "rootDir": "./src",
5
- "outDir": "./dist/cjs",
6
- "baseUrl": "."
3
+ "baseUrl": ".",
4
+ "outDir": "dist-cjs",
5
+ "rootDir": "src"
7
6
  },
8
7
  "extends": "../../tsconfig.cjs.json",
9
8
  "include": ["src/"]
package/tsconfig.es.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "compilerOptions": {
3
+ "baseUrl": ".",
3
4
  "lib": ["es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"],
4
- "declarationDir": "./dist/types",
5
- "rootDir": "./src",
6
- "outDir": "./dist/es",
7
- "baseUrl": "."
5
+ "outDir": "dist-es",
6
+ "rootDir": "src"
8
7
  },
9
8
  "extends": "../../tsconfig.es.json",
10
9
  "include": ["src/"]
@@ -0,0 +1,9 @@
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": ".",
4
+ "declarationDir": "dist-types",
5
+ "rootDir": "src"
6
+ },
7
+ "extends": "../../tsconfig.types.json",
8
+ "include": ["src/"]
9
+ }
@@ -1,91 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveSigV4AuthConfig = exports.resolveAwsAuthConfig = void 0;
4
- const property_provider_1 = require("@aws-sdk/property-provider");
5
- const signature_v4_1 = require("@aws-sdk/signature-v4");
6
- // 5 minutes buffer time the refresh the credential before it really expires
7
- const CREDENTIAL_EXPIRE_WINDOW = 300000;
8
- const resolveAwsAuthConfig = (input) => {
9
- const normalizedCreds = input.credentials
10
- ? normalizeCredentialProvider(input.credentials)
11
- : input.credentialDefaultProvider(input);
12
- const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
13
- let signer;
14
- if (input.signer) {
15
- //if signer is supplied by user, normalize it to a function returning a promise for signer.
16
- signer = normalizeProvider(input.signer);
17
- }
18
- else {
19
- //construct a provider inferring signing from region.
20
- signer = () => normalizeProvider(input.region)()
21
- .then(async (region) => [(await input.regionInfoProvider(region)) || {}, region])
22
- .then(([regionInfo, region]) => {
23
- const { signingRegion, signingService } = regionInfo;
24
- //update client's singing region and signing service config if they are resolved.
25
- //signing region resolving order: user supplied signingRegion -> endpoints.json inferred region -> client region
26
- input.signingRegion = input.signingRegion || signingRegion || region;
27
- //signing name resolving order:
28
- //user supplied signingName -> endpoints.json inferred (credential scope -> model arnNamespace) -> model service id
29
- input.signingName = input.signingName || signingService || input.serviceId;
30
- return new signature_v4_1.SignatureV4({
31
- credentials: normalizedCreds,
32
- region: input.signingRegion,
33
- service: input.signingName,
34
- sha256,
35
- uriEscapePath: signingEscapePath,
36
- });
37
- });
38
- }
39
- return {
40
- ...input,
41
- systemClockOffset,
42
- signingEscapePath,
43
- credentials: normalizedCreds,
44
- signer,
45
- };
46
- };
47
- exports.resolveAwsAuthConfig = resolveAwsAuthConfig;
48
- // TODO: reduce code duplication
49
- const resolveSigV4AuthConfig = (input) => {
50
- const normalizedCreds = input.credentials
51
- ? normalizeCredentialProvider(input.credentials)
52
- : input.credentialDefaultProvider(input);
53
- const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
54
- let signer;
55
- if (input.signer) {
56
- //if signer is supplied by user, normalize it to a function returning a promise for signer.
57
- signer = normalizeProvider(input.signer);
58
- }
59
- else {
60
- signer = normalizeProvider(new signature_v4_1.SignatureV4({
61
- credentials: normalizedCreds,
62
- region: input.region,
63
- service: input.signingName,
64
- sha256,
65
- uriEscapePath: signingEscapePath,
66
- }));
67
- }
68
- return {
69
- ...input,
70
- systemClockOffset,
71
- signingEscapePath,
72
- credentials: normalizedCreds,
73
- signer,
74
- };
75
- };
76
- exports.resolveSigV4AuthConfig = resolveSigV4AuthConfig;
77
- const normalizeProvider = (input) => {
78
- if (typeof input === "object") {
79
- const promisified = Promise.resolve(input);
80
- return () => promisified;
81
- }
82
- return input;
83
- };
84
- const normalizeCredentialProvider = (credentials) => {
85
- if (typeof credentials === "function") {
86
- return (0, property_provider_1.memoize)(credentials, (credentials) => credentials.expiration !== undefined &&
87
- credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials) => credentials.expiration !== undefined);
88
- }
89
- return normalizeProvider(credentials);
90
- };
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0VBQXFEO0FBQ3JELHdEQUFvRDtBQUdwRCw0RUFBNEU7QUFDNUUsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUM7QUE2RmpDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbEMsS0FBa0QsRUFDdkIsRUFBRTtJQUM3QixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsV0FBVztRQUN2QyxDQUFDLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNoRCxDQUFDLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLEtBQVksQ0FBQyxDQUFDO0lBQ2xELE1BQU0sRUFBRSxpQkFBaUIsR0FBRyxJQUFJLEVBQUUsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDckcsSUFBSSxNQUErQixDQUFDO0lBQ3BDLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUNoQiwyRkFBMkY7UUFDM0YsTUFBTSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMxQztTQUFNO1FBQ0wscURBQXFEO1FBQ3JELE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FDWixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7YUFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQXlCLENBQUM7YUFDeEcsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUM3QixNQUFNLEVBQUUsYUFB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QUssU0FBUyxDQUN0RCxDQUFDO0tBQ0g7SUFDRCxPQUFPLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwiQGF3cy1zZGsvcHJvcGVydHktcHJvdmlkZXJcIjtcbmltcG9ydCB7IFNpZ25hdHVyZVY0IH0gZnJvbSBcIkBhd3Mtc2RrL3NpZ25hdHVyZS12NFwiO1xuaW1wb3J0IHsgQ3JlZGVudGlhbHMsIEhhc2hDb25zdHJ1Y3RvciwgUHJvdmlkZXIsIFJlZ2lvbkluZm8sIFJlZ2lvbkluZm9Qcm92aWRlciwgUmVxdWVzdFNpZ25lciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG4vLyA1IG1pbnV0ZXMgYnVmZmVyIHRpbWUgdGhlIHJlZnJlc2ggdGhlIGNyZWRlbnRpYWwgYmVmb3JlIGl0IHJlYWxseSBleHBpcmVzXG5jb25zdCBDUkVERU5USUFMX0VYUElSRV9XSU5ET1cgPSAzMDAwMDA7XG5cbi8vIEF3c0F1dGggdi9zIFNpZ1Y0QXV0aFxuLy8gQXdzQXV0aDogc3BlY2lmaWMgdG8gU2lnVjQgYXV0aCBmb3IgQVdTIHNlcnZpY2VzXG4vLyBTaWdWNEF1dGg6IFNpZ1Y0IGF1dGggZm9yIG5vbi1BV1Mgc2VydmljZXNcblxuZXhwb3J0IGludGVyZmFjZSBBd3NBdXRoSW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIGNyZWRlbnRpYWxzIHVzZWQgdG8gc2lnbiByZXF1ZXN0cy5cbiAgICovXG4gIGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHMgfCBQcm92aWRlcjxDcmVkZW50aWFscz47XG5cbiAgLyoqXG4gICAqIFRoZSBzaWduZXIgdG8gdXNlIHdoZW4gc2lnbmluZyByZXF1ZXN0cy5cbiAgICovXG4gIHNpZ25lcj86IFJlcXVlc3RTaWduZXIgfCBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlc2NhcGUgcmVxdWVzdCBwYXRoIHdoZW4gc2lnbmluZyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHNpZ25pbmdFc2NhcGVQYXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQW4gb2Zmc2V0IHZhbHVlIGluIG1pbGxpc2Vjb25kcyB0byBhcHBseSB0byBhbGwgc2lnbmluZyB0aW1lcy5cbiAgICovXG4gIHN5c3RlbUNsb2NrT2Zmc2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIHdoZXJlIHlvdSB3YW50IHRvIHNpZ24geW91ciByZXF1ZXN0IGFnYWluc3QuIFRoaXNcbiAgICogY2FuIGJlIGRpZmZlcmVudCB0byB0aGUgcmVnaW9uIGluIHRoZSBlbmRwb2ludC5cbiAgICovXG4gIHNpZ25pbmdSZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnVjRBdXRoSW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIGNyZWRlbnRpYWxzIHVzZWQgdG8gc2lnbiByZXF1ZXN0cy5cbiAgICovXG4gIGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHMgfCBQcm92aWRlcjxDcmVkZW50aWFscz47XG5cbiAgLyoqXG4gICAqIFRoZSBzaWduZXIgdG8gdXNlIHdoZW4gc2lnbmluZyByZXF1ZXN0cy5cbiAgICovXG4gIHNpZ25lcj86IFJlcXVlc3RTaWduZXIgfCBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlc2NhcGUgcmVxdWVzdCBwYXRoIHdoZW4gc2lnbmluZyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHNpZ25pbmdFc2NhcGVQYXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQW4gb2Zmc2V0IHZhbHVlIGluIG1pbGxpc2Vjb25kcyB0byBhcHBseSB0byBhbGwgc2lnbmluZyB0aW1lcy5cbiAgICovXG4gIHN5c3RlbUNsb2NrT2Zmc2V0PzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHtcbiAgY3JlZGVudGlhbERlZmF1bHRQcm92aWRlcjogKGlucHV0OiBhbnkpID0+IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcbiAgcmVnaW9uOiBzdHJpbmcgfCBQcm92aWRlcjxzdHJpbmc+O1xuICByZWdpb25JbmZvUHJvdmlkZXI6IFJlZ2lvbkluZm9Qcm92aWRlcjtcbiAgc2lnbmluZ05hbWU/OiBzdHJpbmc7XG4gIHNlcnZpY2VJZDogc3RyaW5nO1xuICBzaGEyNTY6IEhhc2hDb25zdHJ1Y3Rvcjtcbn1cblxuaW50ZXJmYWNlIFNpZ1Y0UHJldmlvdXNseVJlc29sdmVkIHtcbiAgY3JlZGVudGlhbERlZmF1bHRQcm92aWRlcjogKGlucHV0OiBhbnkpID0+IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcbiAgcmVnaW9uOiBzdHJpbmcgfCBQcm92aWRlcjxzdHJpbmc+O1xuICBzaWduaW5nTmFtZTogc3RyaW5nO1xuICBzaGEyNTY6IEhhc2hDb25zdHJ1Y3Rvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBd3NBdXRoUmVzb2x2ZWRDb25maWcge1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQXdzQXV0aElucHV0Q29uZmlnLmNyZWRlbnRpYWxzfVxuICAgKi9cbiAgY3JlZGVudGlhbHM6IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5zaWduZXJ9XG4gICAqL1xuICBzaWduZXI6IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQXdzQXV0aElucHV0Q29uZmlnLnNpZ25pbmdFc2NhcGVQYXRofVxuICAgKi9cbiAgc2lnbmluZ0VzY2FwZVBhdGg6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBBd3NBdXRoSW5wdXRDb25maWcuc3lzdGVtQ2xvY2tPZmZzZXR9XG4gICAqL1xuICBzeXN0ZW1DbG9ja09mZnNldDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ1Y0QXV0aFJlc29sdmVkQ29uZmlnIGV4dGVuZHMgQXdzQXV0aFJlc29sdmVkQ29uZmlnIHt9XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlQXdzQXV0aENvbmZpZyA9IDxUPihcbiAgaW5wdXQ6IFQgJiBBd3NBdXRoSW5wdXRDb25maWcgJiBQcmV2aW91c2x5UmVzb2x2ZWRcbik6IFQgJiBBd3NBdXRoUmVzb2x2ZWRDb25maWcgPT4ge1xuICBjb25zdCBub3JtYWxpemVkQ3JlZHMgPSBpbnB1dC5jcmVkZW50aWFsc1xuICAgID8gbm9ybWFsaXplQ3JlZGVudGlhbFByb3ZpZGVyKGlucHV0LmNyZWRlbnRpYWxzKVxuICAgIDogaW5wdXQuY3JlZGVudGlhbERlZmF1bHRQcm92aWRlcihpbnB1dCBhcyBhbnkpO1xuICBjb25zdCB7IHNpZ25pbmdFc2NhcGVQYXRoID0gdHJ1ZSwgc3lzdGVtQ2xvY2tPZmZzZXQgPSBpbnB1dC5zeXN0ZW1DbG9ja09mZnNldCB8fCAwLCBzaGEyNTYgfSA9IGlucHV0O1xuICBsZXQgc2lnbmVyOiBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcbiAgaWYgKGlucHV0LnNpZ25lcikge1xuICAgIC8vaWYgc2lnbmVyIGlzIHN1cHBsaWVkIGJ5IHVzZXIsIG5vcm1hbGl6ZSBpdCB0byBhIGZ1bmN0aW9uIHJldHVybmluZyBhIHByb21pc2UgZm9yIHNpZ25lci5cbiAgICBzaWduZXIgPSBub3JtYWxpemVQcm92aWRlcihpbnB1dC5zaWduZXIpO1xuICB9IGVsc2Uge1xuICAgIC8vY29uc3RydWN0IGEgcHJvdmlkZXIgaW5mZXJyaW5nIHNpZ25pbmcgZnJvbSByZWdpb24uXG4gICAgc2lnbmVyID0gKCkgPT5cbiAgICAgIG5vcm1hbGl6ZVByb3ZpZGVyKGlucHV0LnJlZ2lvbikoKVxuICAgICAgICAudGhlbihhc3luYyAocmVnaW9uKSA9PiBbKGF3YWl0IGlucHV0LnJlZ2lvbkluZm9Qcm92aWRlcihyZWdpb24pKSB8fCB7fSwgcmVnaW9uXSBhcyBbUmVnaW9uSW5mbywgc3RyaW5nXSlcbiAgICAgICAgLnRoZW4oKFtyZWdpb25JbmZvLCByZWdpb25dKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzaWduaW5nUmVnaW9uLCBzaWduaW5nU2VydmljZSB9ID0gcmVnaW9uSW5mbztcbiAgICAgICAgICAvL3VwZGF0ZSBjbGllbnQncyBzaW5naW5nIHJlZ2lvbiBhbmQgc2lnbmluZyBzZXJ2aWNlIGNvbmZpZyBpZiB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgICAgICAvL3NpZ25pbmcgcmVnaW9uIHJlc29sdmluZyBvcmRlcjogdXNlciBzdXBwbGllZCBzaWduaW5nUmVnaW9uIC0+IGVuZHBvaW50cy5qc29uIGluZmVycmVkIHJlZ2lvbiAtPiBjbGllbnQgcmVnaW9uXG4gICAgICAgICAgaW5wdXQuc2lnbmluZ1JlZ2lvbiA9IGlucHV0LnNpZ25pbmdSZWdpb24gfHwgc2lnbmluZ1JlZ2lvbiB8fCByZWdpb247XG4gICAgICAgICAgLy9zaWduaW5nIG5hbWUgcmVzb2x2aW5nIG9yZGVyOlxuICAgICAgICAgIC8vdXNlciBzdXBwbGllZCBzaWduaW5nTmFtZSAtPiBlbmRwb2ludHMuanNvbiBpbmZlcnJlZCAoY3JlZGVudGlhbCBzY29wZSAtPiBtb2RlbCBhcm5OYW1lc3BhY2UpIC0+IG1vZGVsIHNlcnZpY2UgaWRcbiAgICAgICAgICBpbnB1dC5zaWduaW5nTmFtZSA9IGlucHV0LnNpZ25pbmdOYW1lIHx8IHNpZ25pbmdTZXJ2aWNlIHx8IGlucHV0LnNlcnZpY2VJZDtcblxuICAgICAgICAgIHJldHVybiBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICAgICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICAgICAgICAgIHJlZ2lvbjogaW5wdXQuc2lnbmluZ1JlZ2lvbixcbiAgICAgICAgICAgIHNlcnZpY2U6IGlucHV0LnNpZ25pbmdOYW1lLFxuICAgICAgICAgICAgc2hhMjU2LFxuICAgICAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBzeXN0ZW1DbG9ja09mZnNldCxcbiAgICBzaWduaW5nRXNjYXBlUGF0aCxcbiAgICBjcmVkZW50aWFsczogbm9ybWFsaXplZENyZWRzLFxuICAgIHNpZ25lcixcbiAgfTtcbn07XG5cbi8vIFRPRE86IHJlZHVjZSBjb2RlIGR1cGxpY2F0aW9uXG5leHBvcnQgY29uc3QgcmVzb2x2ZVNpZ1Y0QXV0aENvbmZpZyA9IDxUPihcbiAgaW5wdXQ6IFQgJiBTaWdWNEF1dGhJbnB1dENvbmZpZyAmIFNpZ1Y0UHJldmlvdXNseVJlc29sdmVkXG4pOiBUICYgU2lnVjRBdXRoUmVzb2x2ZWRDb25maWcgPT4ge1xuICBjb25zdCBub3JtYWxpemVkQ3JlZHMgPSBpbnB1dC5jcmVkZW50aWFsc1xuICAgID8gbm9ybWFsaXplQ3JlZGVudGlhbFByb3ZpZGVyKGlucHV0LmNyZWRlbnRpYWxzKVxuICAgIDogaW5wdXQuY3JlZGVudGlhbERlZmF1bHRQcm92aWRlcihpbnB1dCBhcyBhbnkpO1xuICBjb25zdCB7IHNpZ25pbmdFc2NhcGVQYXRoID0gdHJ1ZSwgc3lzdGVtQ2xvY2tPZmZzZXQgPSBpbnB1dC5zeXN0ZW1DbG9ja09mZnNldCB8fCAwLCBzaGEyNTYgfSA9IGlucHV0O1xuICBsZXQgc2lnbmVyOiBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcbiAgaWYgKGlucHV0LnNpZ25lcikge1xuICAgIC8vaWYgc2lnbmVyIGlzIHN1cHBsaWVkIGJ5IHVzZXIsIG5vcm1hbGl6ZSBpdCB0byBhIGZ1bmN0aW9uIHJldHVybmluZyBhIHByb21pc2UgZm9yIHNpZ25lci5cbiAgICBzaWduZXIgPSBub3JtYWxpemVQcm92aWRlcihpbnB1dC5zaWduZXIpO1xuICB9IGVsc2Uge1xuICAgIHNpZ25lciA9IG5vcm1hbGl6ZVByb3ZpZGVyKFxuICAgICAgbmV3IFNpZ25hdHVyZVY0KHtcbiAgICAgICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICAgICAgcmVnaW9uOiBpbnB1dC5yZWdpb24sXG4gICAgICAgIHNlcnZpY2U6IGlucHV0LnNpZ25pbmdOYW1lLFxuICAgICAgICBzaGEyNTYsXG4gICAgICAgIHVyaUVzY2FwZVBhdGg6IHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBzeXN0ZW1DbG9ja09mZnNldCxcbiAgICBzaWduaW5nRXNjYXBlUGF0aCxcbiAgICBjcmVkZW50aWFsczogbm9ybWFsaXplZENyZWRzLFxuICAgIHNpZ25lcixcbiAgfTtcbn07XG5cbmNvbnN0IG5vcm1hbGl6ZVByb3ZpZGVyID0gPFQ+KGlucHV0OiBUIHwgUHJvdmlkZXI8VD4pOiBQcm92aWRlcjxUPiA9PiB7XG4gIGlmICh0eXBlb2YgaW5wdXQgPT09IFwib2JqZWN0XCIpIHtcbiAgICBjb25zdCBwcm9taXNpZmllZCA9IFByb21pc2UucmVzb2x2ZShpbnB1dCk7XG4gICAgcmV0dXJuICgpID0+IHByb21pc2lmaWVkO1xuICB9XG4gIHJldHVybiBpbnB1dCBhcyBQcm92aWRlcjxUPjtcbn07XG5cbmNvbnN0IG5vcm1hbGl6ZUNyZWRlbnRpYWxQcm92aWRlciA9IChjcmVkZW50aWFsczogQ3JlZGVudGlhbHMgfCBQcm92aWRlcjxDcmVkZW50aWFscz4pOiBQcm92aWRlcjxDcmVkZW50aWFscz4gPT4ge1xuICBpZiAodHlwZW9mIGNyZWRlbnRpYWxzID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gbWVtb2l6ZShcbiAgICAgIGNyZWRlbnRpYWxzLFxuICAgICAgKGNyZWRlbnRpYWxzKSA9PlxuICAgICAgICBjcmVkZW50aWFscy5leHBpcmF0aW9uICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgY3JlZGVudGlhbHMuZXhwaXJhdGlvbi5nZXRUaW1lKCkgLSBEYXRlLm5vdygpIDwgQ1JFREVOVElBTF9FWFBJUkVfV0lORE9XLFxuICAgICAgKGNyZWRlbnRpYWxzKSA9PiBjcmVkZW50aWFscy5leHBpcmF0aW9uICE9PSB1bmRlZmluZWRcbiAgICApO1xuICB9XG4gIHJldHVybiBub3JtYWxpemVQcm92aWRlcihjcmVkZW50aWFscyk7XG59O1xuIl19
package/dist/cjs/index.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./configurations"), exports);
5
- (0, tslib_1.__exportStar)(require("./middleware"), exports);
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0VBQWlDO0FBQ2pDLDREQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWRkbGV3YXJlXCI7XG4iXX0=
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin = exports.awsAuthMiddlewareOptions = exports.awsAuthMiddleware = void 0;
4
- const protocol_http_1 = require("@aws-sdk/protocol-http");
5
- const getSkewCorrectedDate_1 = require("./utils/getSkewCorrectedDate");
6
- const getUpdatedSystemClockOffset_1 = require("./utils/getUpdatedSystemClockOffset");
7
- const awsAuthMiddleware = (options) => (next, context) => async function (args) {
8
- if (!protocol_http_1.HttpRequest.isInstance(args.request))
9
- return next(args);
10
- const signer = await options.signer();
11
- const output = await next({
12
- ...args,
13
- request: await signer.sign(args.request, {
14
- signingDate: (0, getSkewCorrectedDate_1.getSkewCorrectedDate)(options.systemClockOffset),
15
- signingRegion: context["signing_region"],
16
- signingService: context["signing_service"],
17
- }),
18
- }).catch((error) => {
19
- if (error.ServerTime) {
20
- options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(error.ServerTime, options.systemClockOffset);
21
- }
22
- throw error;
23
- });
24
- const { headers } = output.response;
25
- const dateHeader = headers && (headers.date || headers.Date);
26
- if (dateHeader) {
27
- options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(dateHeader, options.systemClockOffset);
28
- }
29
- return output;
30
- };
31
- exports.awsAuthMiddleware = awsAuthMiddleware;
32
- exports.awsAuthMiddlewareOptions = {
33
- name: "awsAuthMiddleware",
34
- tags: ["SIGNATURE", "AWSAUTH"],
35
- relation: "after",
36
- toMiddleware: "retryMiddleware",
37
- override: true,
38
- };
39
- const getAwsAuthPlugin = (options) => ({
40
- applyToStack: (clientStack) => {
41
- clientStack.addRelativeTo((0, exports.awsAuthMiddleware)(options), exports.awsAuthMiddlewareOptions);
42
- },
43
- });
44
- exports.getAwsAuthPlugin = getAwsAuthPlugin;
45
- exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUFxRDtBQVlyRCx1RUFBb0U7QUFDcEUscUZBQWtGO0FBRTNFLE1BQU0saUJBQWlCLEdBQzVCLENBQ0UsT0FBOEIsRUFDWSxFQUFFLENBQzlDLENBQUMsSUFBb0MsRUFBRSxPQUFnQyxFQUFrQyxFQUFFLENBQ3pHLEtBQUssV0FBVyxJQUFxQztJQUNuRCxJQUFJLENBQUMsMkJBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDO1FBQ3hCLEdBQUcsSUFBSTtRQUNQLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN2QyxXQUFXLEVBQUUsSUFBQSwyQ0FBb0IsRUFBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7WUFDNUQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztZQUN4QyxjQUFjLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDO1NBQzNDLENBQUM7S0FDSCxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDakIsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxJQUFBLHlEQUEyQixFQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDdEc7UUFDRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFlLENBQUM7SUFDM0MsTUFBTSxVQUFVLEdBQUcsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsSUFBSSxVQUFVLEVBQUU7UUFDZCxPQUFPLENBQUMsaUJBQWlCLEdBQUcsSUFBQSx5REFBMkIsRUFBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDaEc7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUE3Qk8sUUFBQSxpQkFBaUIscUJBNkJ4QjtBQUVPLFFBQUEsd0JBQXdCLEdBQThCO0lBQ2pFLElBQUksRUFBRSxtQkFBbUI7SUFDekIsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztJQUM5QixRQUFRLEVBQUUsT0FBTztJQUNqQixZQUFZLEVBQUUsaUJBQWlCO0lBQy9CLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUE4QixFQUF1QixFQUFFLENBQUMsQ0FBQztJQUN4RixZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsYUFBYSxDQUFDLElBQUEseUJBQWlCLEVBQUMsT0FBTyxDQUFDLEVBQUUsZ0NBQXdCLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBSlUsUUFBQSxnQkFBZ0Isb0JBSTFCO0FBRVUsUUFBQSxrQkFBa0IsR0FBRyx3QkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7XG4gIEZpbmFsaXplSGFuZGxlcixcbiAgRmluYWxpemVIYW5kbGVyQXJndW1lbnRzLFxuICBGaW5hbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIEZpbmFsaXplUmVxdWVzdE1pZGRsZXdhcmUsXG4gIEhhbmRsZXJFeGVjdXRpb25Db250ZXh0LFxuICBQbHVnZ2FibGUsXG4gIFJlbGF0aXZlTWlkZGxld2FyZU9wdGlvbnMsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBBd3NBdXRoUmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuaW1wb3J0IHsgZ2V0U2tld0NvcnJlY3RlZERhdGUgfSBmcm9tIFwiLi91dGlscy9nZXRTa2V3Q29ycmVjdGVkRGF0ZVwiO1xuaW1wb3J0IHsgZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0IH0gZnJvbSBcIi4vdXRpbHMvZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0XCI7XG5cbmV4cG9ydCBjb25zdCBhd3NBdXRoTWlkZGxld2FyZSA9XG4gIDxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0PihcbiAgICBvcHRpb25zOiBBd3NBdXRoUmVzb2x2ZWRDb25maWdcbiAgKTogRmluYWxpemVSZXF1ZXN0TWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PiA9PlxuICAobmV4dDogRmluYWxpemVIYW5kbGVyPElucHV0LCBPdXRwdXQ+LCBjb250ZXh0OiBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCk6IEZpbmFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PiA9PlxuICAgIGFzeW5jIGZ1bmN0aW9uIChhcmdzOiBGaW5hbGl6ZUhhbmRsZXJBcmd1bWVudHM8SW5wdXQ+KTogUHJvbWlzZTxGaW5hbGl6ZUhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4ge1xuICAgICAgaWYgKCFIdHRwUmVxdWVzdC5pc0luc3RhbmNlKGFyZ3MucmVxdWVzdCkpIHJldHVybiBuZXh0KGFyZ3MpO1xuICAgICAgY29uc3Qgc2lnbmVyID0gYXdhaXQgb3B0aW9ucy5zaWduZXIoKTtcbiAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IG5leHQoe1xuICAgICAgICAuLi5hcmdzLFxuICAgICAgICByZXF1ZXN0OiBhd2FpdCBzaWduZXIuc2lnbihhcmdzLnJlcXVlc3QsIHtcbiAgICAgICAgICBzaWduaW5nRGF0ZTogZ2V0U2tld0NvcnJlY3RlZERhdGUob3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCksXG4gICAgICAgICAgc2lnbmluZ1JlZ2lvbjogY29udGV4dFtcInNpZ25pbmdfcmVnaW9uXCJdLFxuICAgICAgICAgIHNpZ25pbmdTZXJ2aWNlOiBjb250ZXh0W1wic2lnbmluZ19zZXJ2aWNlXCJdLFxuICAgICAgICB9KSxcbiAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IuU2VydmVyVGltZSkge1xuICAgICAgICAgIG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQgPSBnZXRVcGRhdGVkU3lzdGVtQ2xvY2tPZmZzZXQoZXJyb3IuU2VydmVyVGltZSwgb3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgeyBoZWFkZXJzIH0gPSBvdXRwdXQucmVzcG9uc2UgYXMgYW55O1xuICAgICAgY29uc3QgZGF0ZUhlYWRlciA9IGhlYWRlcnMgJiYgKGhlYWRlcnMuZGF0ZSB8fCBoZWFkZXJzLkRhdGUpO1xuICAgICAgaWYgKGRhdGVIZWFkZXIpIHtcbiAgICAgICAgb3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCA9IGdldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldChkYXRlSGVhZGVyLCBvcHRpb25zLnN5c3RlbUNsb2NrT2Zmc2V0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9O1xuXG5leHBvcnQgY29uc3QgYXdzQXV0aE1pZGRsZXdhcmVPcHRpb25zOiBSZWxhdGl2ZU1pZGRsZXdhcmVPcHRpb25zID0ge1xuICBuYW1lOiBcImF3c0F1dGhNaWRkbGV3YXJlXCIsXG4gIHRhZ3M6IFtcIlNJR05BVFVSRVwiLCBcIkFXU0FVVEhcIl0sXG4gIHJlbGF0aW9uOiBcImFmdGVyXCIsXG4gIHRvTWlkZGxld2FyZTogXCJyZXRyeU1pZGRsZXdhcmVcIixcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXdzQXV0aFBsdWdpbiA9IChvcHRpb25zOiBBd3NBdXRoUmVzb2x2ZWRDb25maWcpOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogKGNsaWVudFN0YWNrKSA9PiB7XG4gICAgY2xpZW50U3RhY2suYWRkUmVsYXRpdmVUbyhhd3NBdXRoTWlkZGxld2FyZShvcHRpb25zKSwgYXdzQXV0aE1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0U2lnVjRBdXRoUGx1Z2luID0gZ2V0QXdzQXV0aFBsdWdpbjtcbiJdfQ==
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSkewCorrectedDate = void 0;
4
- /**
5
- * Returns a date that is corrected for clock skew.
6
- *
7
- * @param systemClockOffset The offset of the system clock in milliseconds.
8
- */
9
- const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);
10
- exports.getSkewCorrectedDate = getSkewCorrectedDate;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2tld0NvcnJlY3RlZERhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZ2V0U2tld0NvcnJlY3RlZERhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7R0FJRztBQUNJLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxpQkFBeUIsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLGlCQUFpQixDQUFDLENBQUM7QUFBL0YsUUFBQSxvQkFBb0Isd0JBQTJFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm5zIGEgZGF0ZSB0aGF0IGlzIGNvcnJlY3RlZCBmb3IgY2xvY2sgc2tldy5cbiAqXG4gKiBAcGFyYW0gc3lzdGVtQ2xvY2tPZmZzZXQgVGhlIG9mZnNldCBvZiB0aGUgc3lzdGVtIGNsb2NrIGluIG1pbGxpc2Vjb25kcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFNrZXdDb3JyZWN0ZWREYXRlID0gKHN5c3RlbUNsb2NrT2Zmc2V0OiBudW1iZXIpID0+IG5ldyBEYXRlKERhdGUubm93KCkgKyBzeXN0ZW1DbG9ja09mZnNldCk7XG4iXX0=
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUpdatedSystemClockOffset = void 0;
4
- const isClockSkewed_1 = require("./isClockSkewed");
5
- /**
6
- * If clock is skewed, it returns the difference between serverTime and current time.
7
- * If clock is not skewed, it returns currentSystemClockOffset.
8
- *
9
- * @param clockTime The string value of the server time.
10
- * @param currentSystemClockOffset The current system clock offset.
11
- */
12
- const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {
13
- const clockTimeInMs = Date.parse(clockTime);
14
- if ((0, isClockSkewed_1.isClockSkewed)(clockTimeInMs, currentSystemClockOffset)) {
15
- return clockTimeInMs - Date.now();
16
- }
17
- return currentSystemClockOffset;
18
- };
19
- exports.getUpdatedSystemClockOffset = getUpdatedSystemClockOffset;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2dldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFFaEQ7Ozs7OztHQU1HO0FBQ0ksTUFBTSwyQkFBMkIsR0FBRyxDQUFDLFNBQWlCLEVBQUUsd0JBQWdDLEVBQVUsRUFBRTtJQUN6RyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLElBQUksSUFBQSw2QkFBYSxFQUFDLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxFQUFFO1FBQzFELE9BQU8sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUNuQztJQUNELE9BQU8sd0JBQXdCLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBTlcsUUFBQSwyQkFBMkIsK0JBTXRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNDbG9ja1NrZXdlZCB9IGZyb20gXCIuL2lzQ2xvY2tTa2V3ZWRcIjtcblxuLyoqXG4gKiBJZiBjbG9jayBpcyBza2V3ZWQsIGl0IHJldHVybnMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBzZXJ2ZXJUaW1lIGFuZCBjdXJyZW50IHRpbWUuXG4gKiBJZiBjbG9jayBpcyBub3Qgc2tld2VkLCBpdCByZXR1cm5zIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldC5cbiAqXG4gKiBAcGFyYW0gY2xvY2tUaW1lIFRoZSBzdHJpbmcgdmFsdWUgb2YgdGhlIHNlcnZlciB0aW1lLlxuICogQHBhcmFtIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldCBUaGUgY3VycmVudCBzeXN0ZW0gY2xvY2sgb2Zmc2V0LlxuICovXG5leHBvcnQgY29uc3QgZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0ID0gKGNsb2NrVGltZTogc3RyaW5nLCBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcik6IG51bWJlciA9PiB7XG4gIGNvbnN0IGNsb2NrVGltZUluTXMgPSBEYXRlLnBhcnNlKGNsb2NrVGltZSk7XG4gIGlmIChpc0Nsb2NrU2tld2VkKGNsb2NrVGltZUluTXMsIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldCkpIHtcbiAgICByZXR1cm4gY2xvY2tUaW1lSW5NcyAtIERhdGUubm93KCk7XG4gIH1cbiAgcmV0dXJuIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldDtcbn07XG4iXX0=
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isClockSkewed = void 0;
4
- const getSkewCorrectedDate_1 = require("./getSkewCorrectedDate");
5
- /**
6
- * Checks if the provided date is within the skew window of 300000ms.
7
- *
8
- * @param clockTime - The time to check for skew in milliseconds.
9
- * @param systemClockOffset - The offset of the system clock in milliseconds.
10
- */
11
- const isClockSkewed = (clockTime, systemClockOffset) => Math.abs((0, getSkewCorrectedDate_1.getSkewCorrectedDate)(systemClockOffset).getTime() - clockTime) >= 300000;
12
- exports.isClockSkewed = isClockSkewed;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNDbG9ja1NrZXdlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9pc0Nsb2NrU2tld2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlFQUE4RDtBQUU5RDs7Ozs7R0FLRztBQUNJLE1BQU0sYUFBYSxHQUFHLENBQUMsU0FBaUIsRUFBRSxpQkFBeUIsRUFBRSxFQUFFLENBQzVFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBQSwyQ0FBb0IsRUFBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztBQUR2RSxRQUFBLGFBQWEsaUJBQzBEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2tld0NvcnJlY3RlZERhdGUgfSBmcm9tIFwiLi9nZXRTa2V3Q29ycmVjdGVkRGF0ZVwiO1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgcHJvdmlkZWQgZGF0ZSBpcyB3aXRoaW4gdGhlIHNrZXcgd2luZG93IG9mIDMwMDAwMG1zLlxuICpcbiAqIEBwYXJhbSBjbG9ja1RpbWUgLSBUaGUgdGltZSB0byBjaGVjayBmb3Igc2tldyBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcGFyYW0gc3lzdGVtQ2xvY2tPZmZzZXQgLSBUaGUgb2Zmc2V0IG9mIHRoZSBzeXN0ZW0gY2xvY2sgaW4gbWlsbGlzZWNvbmRzLlxuICovXG5leHBvcnQgY29uc3QgaXNDbG9ja1NrZXdlZCA9IChjbG9ja1RpbWU6IG51bWJlciwgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcikgPT5cbiAgTWF0aC5hYnMoZ2V0U2tld0NvcnJlY3RlZERhdGUoc3lzdGVtQ2xvY2tPZmZzZXQpLmdldFRpbWUoKSAtIGNsb2NrVGltZSkgPj0gMzAwMDAwO1xuIl19
@@ -1,85 +0,0 @@
1
- import { __assign, __awaiter, __generator, __read } from "tslib";
2
- import { memoize } from "@aws-sdk/property-provider";
3
- import { SignatureV4 } from "@aws-sdk/signature-v4";
4
- // 5 minutes buffer time the refresh the credential before it really expires
5
- var CREDENTIAL_EXPIRE_WINDOW = 300000;
6
- export var resolveAwsAuthConfig = function (input) {
7
- var normalizedCreds = input.credentials
8
- ? normalizeCredentialProvider(input.credentials)
9
- : input.credentialDefaultProvider(input);
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;
12
- if (input.signer) {
13
- //if signer is supplied by user, normalize it to a function returning a promise for signer.
14
- signer = normalizeProvider(input.signer);
15
- }
16
- else {
17
- //construct a provider inferring signing from region.
18
- signer = function () {
19
- return normalizeProvider(input.region)()
20
- .then(function (region) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
21
- switch (_a.label) {
22
- case 0: return [4 /*yield*/, input.regionInfoProvider(region)];
23
- case 1: return [2 /*return*/, [(_a.sent()) || {}, region]];
24
- }
25
- }); }); })
26
- .then(function (_a) {
27
- var _b = __read(_a, 2), regionInfo = _b[0], region = _b[1];
28
- var signingRegion = regionInfo.signingRegion, signingService = regionInfo.signingService;
29
- //update client's singing region and signing service config if they are resolved.
30
- //signing region resolving order: user supplied signingRegion -> endpoints.json inferred region -> client region
31
- input.signingRegion = input.signingRegion || signingRegion || region;
32
- //signing name resolving order:
33
- //user supplied signingName -> endpoints.json inferred (credential scope -> model arnNamespace) -> model service id
34
- input.signingName = input.signingName || signingService || input.serviceId;
35
- return new SignatureV4({
36
- credentials: normalizedCreds,
37
- region: input.signingRegion,
38
- service: input.signingName,
39
- sha256: sha256,
40
- uriEscapePath: signingEscapePath,
41
- });
42
- });
43
- };
44
- }
45
- return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });
46
- };
47
- // TODO: reduce code duplication
48
- export var resolveSigV4AuthConfig = function (input) {
49
- var normalizedCreds = input.credentials
50
- ? normalizeCredentialProvider(input.credentials)
51
- : input.credentialDefaultProvider(input);
52
- var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;
53
- var signer;
54
- if (input.signer) {
55
- //if signer is supplied by user, normalize it to a function returning a promise for signer.
56
- signer = normalizeProvider(input.signer);
57
- }
58
- else {
59
- signer = normalizeProvider(new SignatureV4({
60
- credentials: normalizedCreds,
61
- region: input.region,
62
- service: input.signingName,
63
- sha256: sha256,
64
- uriEscapePath: signingEscapePath,
65
- }));
66
- }
67
- return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });
68
- };
69
- var normalizeProvider = function (input) {
70
- if (typeof input === "object") {
71
- var promisified_1 = Promise.resolve(input);
72
- return function () { return promisified_1; };
73
- }
74
- return input;
75
- };
76
- var normalizeCredentialProvider = function (credentials) {
77
- if (typeof credentials === "function") {
78
- return memoize(credentials, function (credentials) {
79
- return credentials.expiration !== undefined &&
80
- credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW;
81
- }, function (credentials) { return credentials.expiration !== undefined; });
82
- }
83
- return normalizeProvider(credentials);
84
- };
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHcEQsNEVBQTRFO0FBQzVFLElBQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDO0FBNkZ4QyxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxVQUNsQyxLQUFrRDtJQUVsRCxJQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsV0FBVztRQUN2QyxDQUFDLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNoRCxDQUFDLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLEtBQVksQ0FBQyxDQUFDO0lBQzFDLElBQUEsS0FBdUYsS0FBSyxrQkFBcEUsRUFBeEIsaUJBQWlCLG1CQUFHLElBQUksS0FBQSxFQUFFLEtBQTZELEtBQUssa0JBQWxCLEVBQWhELGlCQUFpQixtQkFBRyxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQyxLQUFBLEVBQUUsTUFBTSxHQUFLLEtBQUssT0FBVixDQUFXO0lBQ3JHLElBQUksTUFBK0IsQ0FBQztJQUNwQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDaEIsMkZBQTJGO1FBQzNGLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUM7U0FBTTtRQUNMLHFEQUFxRDtRQUNyRCxNQUFNLEdBQUc7WUFDUCxPQUFBLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtpQkFDOUIsSUFBSSxDQUFDLFVBQU8sTUFBTTs7NEJBQU8scUJBQU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFBOzRCQUF4QyxzQkFBQSxDQUFDLENB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V0FBVyxFQUNYLFVBQUMsV0FBVztZQUNWLE9BQUEsV0FBVyxDQUFDLFVBQVUsS0FBSyxTQUFTO2dCQUNwQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyx3QkFBd0I7UUFEeEUsQ0FDd0UsRUFDMUUsVUFBQyxXQUFXLElBQUssT0FBQSxXQUFXLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBcEMsQ0FBb0MsQ0FDdEQsQ0FBQztLQUNIO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZW1vaXplIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBTaWduYXR1cmVWNCB9IGZyb20gXCJAYXdzLXNkay9zaWduYXR1cmUtdjRcIjtcbmltcG9ydCB7IENyZWRlbnRpYWxzLCBIYXNoQ29uc3RydWN0b3IsIFByb3ZpZGVyLCBSZWdpb25JbmZvLCBSZWdpb25JbmZvUHJvdmlkZXIsIFJlcXVlc3RTaWduZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuLy8gNSBtaW51dGVzIGJ1ZmZlciB0aW1lIHRoZSByZWZyZXNoIHRoZSBjcmVkZW50aWFsIGJlZm9yZSBpdCByZWFsbHkgZXhwaXJlc1xuY29uc3QgQ1JFREVOVElBTF9FWFBJUkVfV0lORE9XID0gMzAwMDAwO1xuXG4vLyBBd3NBdXRoIHYvcyBTaWdWNEF1dGhcbi8vIEF3c0F1dGg6IHNwZWNpZmljIHRvIFNpZ1Y0IGF1dGggZm9yIEFXUyBzZXJ2aWNlc1xuLy8gU2lnVjRBdXRoOiBTaWdWNCBhdXRoIGZvciBub24tQVdTIHNlcnZpY2VzXG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQXV0aElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyB1c2VkIHRvIHNpZ24gcmVxdWVzdHMuXG4gICAqL1xuICBjcmVkZW50aWFscz86IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmVyIHRvIHVzZSB3aGVuIHNpZ25pbmcgcmVxdWVzdHMuXG4gICAqL1xuICBzaWduZXI/OiBSZXF1ZXN0U2lnbmVyIHwgUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXNjYXBlIHJlcXVlc3QgcGF0aCB3aGVuIHNpZ25pbmcgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBzaWduaW5nRXNjYXBlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFuIG9mZnNldCB2YWx1ZSBpbiBtaWxsaXNlY29uZHMgdG8gYXBwbHkgdG8gYWxsIHNpZ25pbmcgdGltZXMuXG4gICAqL1xuICBzeXN0ZW1DbG9ja09mZnNldD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHJlZ2lvbiB3aGVyZSB5b3Ugd2FudCB0byBzaWduIHlvdXIgcmVxdWVzdCBhZ2FpbnN0LiBUaGlzXG4gICAqIGNhbiBiZSBkaWZmZXJlbnQgdG8gdGhlIHJlZ2lvbiBpbiB0aGUgZW5kcG9pbnQuXG4gICAqL1xuICBzaWduaW5nUmVnaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ1Y0QXV0aElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyB1c2VkIHRvIHNpZ24gcmVxdWVzdHMuXG4gICAqL1xuICBjcmVkZW50aWFscz86IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmVyIHRvIHVzZSB3aGVuIHNpZ25pbmcgcmVxdWVzdHMuXG4gICAqL1xuICBzaWduZXI/OiBSZXF1ZXN0U2lnbmVyIHwgUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXNjYXBlIHJlcXVlc3QgcGF0aCB3aGVuIHNpZ25pbmcgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBzaWduaW5nRXNjYXBlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFuIG9mZnNldCB2YWx1ZSBpbiBtaWxsaXNlY29uZHMgdG8gYXBwbHkgdG8gYWxsIHNpZ25pbmcgdGltZXMuXG4gICAqL1xuICBzeXN0ZW1DbG9ja09mZnNldD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG4gIHNpZ25pbmdOYW1lPzogc3RyaW5nO1xuICBzZXJ2aWNlSWQ6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmludGVyZmFjZSBTaWdWNFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgc2lnbmluZ05hbWU6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQXV0aFJlc29sdmVkQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5jcmVkZW50aWFsc31cbiAgICovXG4gIGNyZWRlbnRpYWxzOiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBBd3NBdXRoSW5wdXRDb25maWcuc2lnbmVyfVxuICAgKi9cbiAgc2lnbmVyOiBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5zaWduaW5nRXNjYXBlUGF0aH1cbiAgICovXG4gIHNpZ25pbmdFc2NhcGVQYXRoOiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQXdzQXV0aElucHV0Q29uZmlnLnN5c3RlbUNsb2NrT2Zmc2V0fVxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWdWNEF1dGhSZXNvbHZlZENvbmZpZyBleHRlbmRzIEF3c0F1dGhSZXNvbHZlZENvbmZpZyB7fVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUF3c0F1dGhDb25maWcgPSA8VD4oXG4gIGlucHV0OiBUICYgQXdzQXV0aElucHV0Q29uZmlnICYgUHJldmlvdXNseVJlc29sdmVkXG4pOiBUICYgQXdzQXV0aFJlc29sdmVkQ29uZmlnID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZENyZWRzID0gaW5wdXQuY3JlZGVudGlhbHNcbiAgICA/IG5vcm1hbGl6ZUNyZWRlbnRpYWxQcm92aWRlcihpbnB1dC5jcmVkZW50aWFscylcbiAgICA6IGlucHV0LmNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXIoaW5wdXQgYXMgYW55KTtcbiAgY29uc3QgeyBzaWduaW5nRXNjYXBlUGF0aCA9IHRydWUsIHN5c3RlbUNsb2NrT2Zmc2V0ID0gaW5wdXQuc3lzdGVtQ2xvY2tPZmZzZXQgfHwgMCwgc2hhMjU2IH0gPSBpbnB1dDtcbiAgbGV0IHNpZ25lcjogUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG4gIGlmIChpbnB1dC5zaWduZXIpIHtcbiAgICAvL2lmIHNpZ25lciBpcyBzdXBwbGllZCBieSB1c2VyLCBub3JtYWxpemUgaXQgdG8gYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBwcm9taXNlIGZvciBzaWduZXIuXG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoaW5wdXQuc2lnbmVyKTtcbiAgfSBlbHNlIHtcbiAgICAvL2NvbnN0cnVjdCBhIHByb3ZpZGVyIGluZmVycmluZyBzaWduaW5nIGZyb20gcmVnaW9uLlxuICAgIHNpZ25lciA9ICgpID0+XG4gICAgICBub3JtYWxpemVQcm92aWRlcihpbnB1dC5yZWdpb24pKClcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlZ2lvbikgPT4gWyhhd2FpdCBpbnB1dC5yZWdpb25JbmZvUHJvdmlkZXIocmVnaW9uKSkgfHwge30sIHJlZ2lvbl0gYXMgW1JlZ2lvbkluZm8sIHN0cmluZ10pXG4gICAgICAgIC50aGVuKChbcmVnaW9uSW5mbywgcmVnaW9uXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc2lnbmluZ1JlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgfSA9IHJlZ2lvbkluZm87XG4gICAgICAgICAgLy91cGRhdGUgY2xpZW50J3Mgc2luZ2luZyByZWdpb24gYW5kIHNpZ25pbmcgc2VydmljZSBjb25maWcgaWYgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICAgICAgLy9zaWduaW5nIHJlZ2lvbiByZXNvbHZpbmcgb3JkZXI6IHVzZXIgc3VwcGxpZWQgc2lnbmluZ1JlZ2lvbiAtPiBlbmRwb2ludHMuanNvbiBpbmZlcnJlZCByZWdpb24gLT4gY2xpZW50IHJlZ2lvblxuICAgICAgICAgIGlucHV0LnNpZ25pbmdSZWdpb24gPSBpbnB1dC5zaWduaW5nUmVnaW9uIHx8IHNpZ25pbmdSZWdpb24gfHwgcmVnaW9uO1xuICAgICAgICAgIC8vc2lnbmluZyBuYW1lIHJlc29sdmluZyBvcmRlcjpcbiAgICAgICAgICAvL3VzZXIgc3VwcGxpZWQgc2lnbmluZ05hbWUgLT4gZW5kcG9pbnRzLmpzb24gaW5mZXJyZWQgKGNyZWRlbnRpYWwgc2NvcGUgLT4gbW9kZWwgYXJuTmFtZXNwYWNlKSAtPiBtb2RlbCBzZXJ2aWNlIGlkXG4gICAgICAgICAgaW5wdXQuc2lnbmluZ05hbWUgPSBpbnB1dC5zaWduaW5nTmFtZSB8fCBzaWduaW5nU2VydmljZSB8fCBpbnB1dC5zZXJ2aWNlSWQ7XG5cbiAgICAgICAgICByZXR1cm4gbmV3IFNpZ25hdHVyZVY0KHtcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgICAgICAgICByZWdpb246IGlucHV0LnNpZ25pbmdSZWdpb24sXG4gICAgICAgICAgICBzZXJ2aWNlOiBpbnB1dC5zaWduaW5nTmFtZSxcbiAgICAgICAgICAgIHNoYTI1NixcbiAgICAgICAgICAgIHVyaUVzY2FwZVBhdGg6IHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXQsXG4gICAgc3lzdGVtQ2xvY2tPZmZzZXQsXG4gICAgc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICBzaWduZXIsXG4gIH07XG59O1xuXG4vLyBUT0RPOiByZWR1Y2UgY29kZSBkdXBsaWNhdGlvblxuZXhwb3J0IGNvbnN0IHJlc29sdmVTaWdWNEF1dGhDb25maWcgPSA8VD4oXG4gIGlucHV0OiBUICYgU2lnVjRBdXRoSW5wdXRDb25maWcgJiBTaWdWNFByZXZpb3VzbHlSZXNvbHZlZFxuKTogVCAmIFNpZ1Y0QXV0aFJlc29sdmVkQ29uZmlnID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZENyZWRzID0gaW5wdXQuY3JlZGVudGlhbHNcbiAgICA/IG5vcm1hbGl6ZUNyZWRlbnRpYWxQcm92aWRlcihpbnB1dC5jcmVkZW50aWFscylcbiAgICA6IGlucHV0LmNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXIoaW5wdXQgYXMgYW55KTtcbiAgY29uc3QgeyBzaWduaW5nRXNjYXBlUGF0aCA9IHRydWUsIHN5c3RlbUNsb2NrT2Zmc2V0ID0gaW5wdXQuc3lzdGVtQ2xvY2tPZmZzZXQgfHwgMCwgc2hhMjU2IH0gPSBpbnB1dDtcbiAgbGV0IHNpZ25lcjogUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG4gIGlmIChpbnB1dC5zaWduZXIpIHtcbiAgICAvL2lmIHNpZ25lciBpcyBzdXBwbGllZCBieSB1c2VyLCBub3JtYWxpemUgaXQgdG8gYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBwcm9taXNlIGZvciBzaWduZXIuXG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoaW5wdXQuc2lnbmVyKTtcbiAgfSBlbHNlIHtcbiAgICBzaWduZXIgPSBub3JtYWxpemVQcm92aWRlcihcbiAgICAgIG5ldyBTaWduYXR1cmVWNCh7XG4gICAgICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgICAgIHJlZ2lvbjogaW5wdXQucmVnaW9uLFxuICAgICAgICBzZXJ2aWNlOiBpbnB1dC5zaWduaW5nTmFtZSxcbiAgICAgICAgc2hhMjU2LFxuICAgICAgICB1cmlFc2NhcGVQYXRoOiBzaWduaW5nRXNjYXBlUGF0aCxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXQsXG4gICAgc3lzdGVtQ2xvY2tPZmZzZXQsXG4gICAgc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICBzaWduZXIsXG4gIH07XG59O1xuXG5jb25zdCBub3JtYWxpemVQcm92aWRlciA9IDxUPihpbnB1dDogVCB8IFByb3ZpZGVyPFQ+KTogUHJvdmlkZXI8VD4gPT4ge1xuICBpZiAodHlwZW9mIGlucHV0ID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUoaW5wdXQpO1xuICAgIHJldHVybiAoKSA9PiBwcm9taXNpZmllZDtcbiAgfVxuICByZXR1cm4gaW5wdXQgYXMgUHJvdmlkZXI8VD47XG59O1xuXG5jb25zdCBub3JtYWxpemVDcmVkZW50aWFsUHJvdmlkZXIgPSAoY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+KTogUHJvdmlkZXI8Q3JlZGVudGlhbHM+ID0+IHtcbiAgaWYgKHR5cGVvZiBjcmVkZW50aWFscyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcmV0dXJuIG1lbW9pemUoXG4gICAgICBjcmVkZW50aWFscyxcbiAgICAgIChjcmVkZW50aWFscykgPT5cbiAgICAgICAgY3JlZGVudGlhbHMuZXhwaXJhdGlvbiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGNyZWRlbnRpYWxzLmV4cGlyYXRpb24uZ2V0VGltZSgpIC0gRGF0ZS5ub3coKSA8IENSRURFTlRJQUxfRVhQSVJFX1dJTkRPVyxcbiAgICAgIChjcmVkZW50aWFscykgPT4gY3JlZGVudGlhbHMuZXhwaXJhdGlvbiAhPT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplUHJvdmlkZXIoY3JlZGVudGlhbHMpO1xufTtcbiJdfQ==
package/dist/es/index.js DELETED
@@ -1,3 +0,0 @@
1
- export * from "./configurations";
2
- export * from "./middleware";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWRkbGV3YXJlXCI7XG4iXX0=
@@ -1,60 +0,0 @@
1
- import { __assign, __awaiter, __generator } from "tslib";
2
- import { HttpRequest } from "@aws-sdk/protocol-http";
3
- import { getSkewCorrectedDate } from "./utils/getSkewCorrectedDate";
4
- import { getUpdatedSystemClockOffset } from "./utils/getUpdatedSystemClockOffset";
5
- export var awsAuthMiddleware = function (options) {
6
- return function (next, context) {
7
- return function (args) {
8
- return __awaiter(this, void 0, void 0, function () {
9
- var signer, output, _a, _b, headers, dateHeader;
10
- var _c;
11
- return __generator(this, function (_d) {
12
- switch (_d.label) {
13
- case 0:
14
- if (!HttpRequest.isInstance(args.request))
15
- return [2 /*return*/, next(args)];
16
- return [4 /*yield*/, options.signer()];
17
- case 1:
18
- signer = _d.sent();
19
- _a = next;
20
- _b = [__assign({}, args)];
21
- _c = {};
22
- return [4 /*yield*/, signer.sign(args.request, {
23
- signingDate: getSkewCorrectedDate(options.systemClockOffset),
24
- signingRegion: context["signing_region"],
25
- signingService: context["signing_service"],
26
- })];
27
- case 2: return [4 /*yield*/, _a.apply(void 0, [__assign.apply(void 0, _b.concat([(_c.request = _d.sent(), _c)]))]).catch(function (error) {
28
- if (error.ServerTime) {
29
- options.systemClockOffset = getUpdatedSystemClockOffset(error.ServerTime, options.systemClockOffset);
30
- }
31
- throw error;
32
- })];
33
- case 3:
34
- output = _d.sent();
35
- headers = output.response.headers;
36
- dateHeader = headers && (headers.date || headers.Date);
37
- if (dateHeader) {
38
- options.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, options.systemClockOffset);
39
- }
40
- return [2 /*return*/, output];
41
- }
42
- });
43
- });
44
- };
45
- };
46
- };
47
- export var awsAuthMiddlewareOptions = {
48
- name: "awsAuthMiddleware",
49
- tags: ["SIGNATURE", "AWSAUTH"],
50
- relation: "after",
51
- toMiddleware: "retryMiddleware",
52
- override: true,
53
- };
54
- export var getAwsAuthPlugin = function (options) { return ({
55
- applyToStack: function (clientStack) {
56
- clientStack.addRelativeTo(awsAuthMiddleware(options), awsAuthMiddlewareOptions);
57
- },
58
- }); };
59
- export var getSigV4AuthPlugin = getAwsAuthPlugin;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFZckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFbEYsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQzVCLFVBQ0UsT0FBOEI7SUFFaEMsT0FBQSxVQUFDLElBQW9DLEVBQUUsT0FBZ0M7UUFDckUsT0FBQSxVQUFnQixJQUFxQzs7Ozs7Ozs0QkFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQ0FBRSxzQkFBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUM7NEJBQzlDLHFCQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBQTs7NEJBQS9CLE1BQU0sR0FBRyxTQUFzQjs0QkFDaEIsS0FBQSxJQUFJLENBQUE7K0NBQ3BCLElBQUk7OzRCQUNFLHFCQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQ0FDdkMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztvQ0FDNUQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztvQ0FDeEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztpQ0FDM0MsQ0FBQyxFQUFBO2dDQU5XLHFCQUFNLHFEQUVuQixVQUFPLEdBQUUsU0FJUCxVQUNGLENBQUMsS0FBSyxDQUFDLFVBQUMsS0FBSztnQ0FDYixJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7b0NBQ3BCLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2lDQUN0RztnQ0FDRCxNQUFNLEtBQUssQ0FBQzs0QkFDZCxDQUFDLENBQUMsRUFBQTs7NEJBWkksTUFBTSxHQUFHLFNBWWI7NEJBRU0sT0FBTyxHQUFLLE1BQU0sQ0FBQyxRQUFlLFFBQTNCLENBQTRCOzRCQUNyQyxVQUFVLEdBQUcsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQzdELElBQUksVUFBVSxFQUFFO2dDQUNkLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRywyQkFBMkIsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7NkJBQ2hHOzRCQUVELHNCQUFPLE1BQU0sRUFBQzs7OztTQUNmO0lBeEJELENBd0JDO0FBekJILENBeUJHLENBQUM7QUFFTixNQUFNLENBQUMsSUFBTSx3QkFBd0IsR0FBOEI7SUFDakUsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO0lBQzlCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLFlBQVksRUFBRSxpQkFBaUI7SUFDL0IsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sZ0JBQWdCLEdBQUcsVUFBQyxPQUE4QixJQUEwQixPQUFBLENBQUM7SUFDeEYsWUFBWSxFQUFFLFVBQUMsV0FBVztRQUN4QixXQUFXLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUNGLENBQUMsRUFKdUYsQ0FJdkYsQ0FBQztBQUVILE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHtcbiAgRmluYWxpemVIYW5kbGVyLFxuICBGaW5hbGl6ZUhhbmRsZXJBcmd1bWVudHMsXG4gIEZpbmFsaXplSGFuZGxlck91dHB1dCxcbiAgRmluYWxpemVSZXF1ZXN0TWlkZGxld2FyZSxcbiAgSGFuZGxlckV4ZWN1dGlvbkNvbnRleHQsXG4gIFBsdWdnYWJsZSxcbiAgUmVsYXRpdmVNaWRkbGV3YXJlT3B0aW9ucyxcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmltcG9ydCB7IEF3c0F1dGhSZXNvbHZlZENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5pbXBvcnQgeyBnZXRTa2V3Q29ycmVjdGVkRGF0ZSB9IGZyb20gXCIuL3V0aWxzL2dldFNrZXdDb3JyZWN0ZWREYXRlXCI7XG5pbXBvcnQgeyBnZXRVcGRhdGVkU3lzdGVtQ2xvY2tPZmZzZXQgfSBmcm9tIFwiLi91dGlscy9nZXRVcGRhdGVkU3lzdGVtQ2xvY2tPZmZzZXRcIjtcblxuZXhwb3J0IGNvbnN0IGF3c0F1dGhNaWRkbGV3YXJlID1cbiAgPElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXRwdXQgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIG9wdGlvbnM6IEF3c0F1dGhSZXNvbHZlZENvbmZpZ1xuICApOiBGaW5hbGl6ZVJlcXVlc3RNaWRkbGV3YXJlPElucHV0LCBPdXRwdXQ+ID0+XG4gIChuZXh0OiBGaW5hbGl6ZUhhbmRsZXI8SW5wdXQsIE91dHB1dD4sIGNvbnRleHQ6IEhhbmRsZXJFeGVjdXRpb25Db250ZXh0KTogRmluYWxpemVIYW5kbGVyPElucHV0LCBPdXRwdXQ+ID0+XG4gICAgYXN5bmMgZnVuY3Rpb24gKGFyZ3M6IEZpbmFsaXplSGFuZGxlckFyZ3VtZW50czxJbnB1dD4pOiBQcm9taXNlPEZpbmFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiB7XG4gICAgICBpZiAoIUh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UoYXJncy5yZXF1ZXN0KSkgcmV0dXJuIG5leHQoYXJncyk7XG4gICAgICBjb25zdCBzaWduZXIgPSBhd2FpdCBvcHRpb25zLnNpZ25lcigpO1xuICAgICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgbmV4dCh7XG4gICAgICAgIC4uLmFyZ3MsXG4gICAgICAgIHJlcXVlc3Q6IGF3YWl0IHNpZ25lci5zaWduKGFyZ3MucmVxdWVzdCwge1xuICAgICAgICAgIHNpZ25pbmdEYXRlOiBnZXRTa2V3Q29ycmVjdGVkRGF0ZShvcHRpb25zLnN5c3RlbUNsb2NrT2Zmc2V0KSxcbiAgICAgICAgICBzaWduaW5nUmVnaW9uOiBjb250ZXh0W1wic2lnbmluZ19yZWdpb25cIl0sXG4gICAgICAgICAgc2lnbmluZ1NlcnZpY2U6IGNvbnRleHRbXCJzaWduaW5nX3NlcnZpY2VcIl0sXG4gICAgICAgIH0pLFxuICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvci5TZXJ2ZXJUaW1lKSB7XG4gICAgICAgICAgb3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCA9IGdldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldChlcnJvci5TZXJ2ZXJUaW1lLCBvcHRpb25zLnN5c3RlbUNsb2NrT2Zmc2V0KTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7IGhlYWRlcnMgfSA9IG91dHB1dC5yZXNwb25zZSBhcyBhbnk7XG4gICAgICBjb25zdCBkYXRlSGVhZGVyID0gaGVhZGVycyAmJiAoaGVhZGVycy5kYXRlIHx8IGhlYWRlcnMuRGF0ZSk7XG4gICAgICBpZiAoZGF0ZUhlYWRlcikge1xuICAgICAgICBvcHRpb25zLnN5c3RlbUNsb2NrT2Zmc2V0ID0gZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0KGRhdGVIZWFkZXIsIG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3V0cHV0O1xuICAgIH07XG5cbmV4cG9ydCBjb25zdCBhd3NBdXRoTWlkZGxld2FyZU9wdGlvbnM6IFJlbGF0aXZlTWlkZGxld2FyZU9wdGlvbnMgPSB7XG4gIG5hbWU6IFwiYXdzQXV0aE1pZGRsZXdhcmVcIixcbiAgdGFnczogW1wiU0lHTkFUVVJFXCIsIFwiQVdTQVVUSFwiXSxcbiAgcmVsYXRpb246IFwiYWZ0ZXJcIixcbiAgdG9NaWRkbGV3YXJlOiBcInJldHJ5TWlkZGxld2FyZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBd3NBdXRoUGx1Z2luID0gKG9wdGlvbnM6IEF3c0F1dGhSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGRSZWxhdGl2ZVRvKGF3c0F1dGhNaWRkbGV3YXJlKG9wdGlvbnMpLCBhd3NBdXRoTWlkZGxld2FyZU9wdGlvbnMpO1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBnZXRTaWdWNEF1dGhQbHVnaW4gPSBnZXRBd3NBdXRoUGx1Z2luO1xuIl19
@@ -1,7 +0,0 @@
1
- /**
2
- * Returns a date that is corrected for clock skew.
3
- *
4
- * @param systemClockOffset The offset of the system clock in milliseconds.
5
- */
6
- export var getSkewCorrectedDate = function (systemClockOffset) { return new Date(Date.now() + systemClockOffset); };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2tld0NvcnJlY3RlZERhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZ2V0U2tld0NvcnJlY3RlZERhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxJQUFNLG9CQUFvQixHQUFHLFVBQUMsaUJBQXlCLElBQUssT0FBQSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsRUFBeEMsQ0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmV0dXJucyBhIGRhdGUgdGhhdCBpcyBjb3JyZWN0ZWQgZm9yIGNsb2NrIHNrZXcuXG4gKlxuICogQHBhcmFtIHN5c3RlbUNsb2NrT2Zmc2V0IFRoZSBvZmZzZXQgb2YgdGhlIHN5c3RlbSBjbG9jayBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTa2V3Q29ycmVjdGVkRGF0ZSA9IChzeXN0ZW1DbG9ja09mZnNldDogbnVtYmVyKSA9PiBuZXcgRGF0ZShEYXRlLm5vdygpICsgc3lzdGVtQ2xvY2tPZmZzZXQpO1xuIl19
@@ -1,16 +0,0 @@
1
- import { isClockSkewed } from "./isClockSkewed";
2
- /**
3
- * If clock is skewed, it returns the difference between serverTime and current time.
4
- * If clock is not skewed, it returns currentSystemClockOffset.
5
- *
6
- * @param clockTime The string value of the server time.
7
- * @param currentSystemClockOffset The current system clock offset.
8
- */
9
- export var getUpdatedSystemClockOffset = function (clockTime, currentSystemClockOffset) {
10
- var clockTimeInMs = Date.parse(clockTime);
11
- if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {
12
- return clockTimeInMs - Date.now();
13
- }
14
- return currentSystemClockOffset;
15
- };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2dldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLElBQU0sMkJBQTJCLEdBQUcsVUFBQyxTQUFpQixFQUFFLHdCQUFnQztJQUM3RixJQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLElBQUksYUFBYSxDQUFDLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxFQUFFO1FBQzFELE9BQU8sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUNuQztJQUNELE9BQU8sd0JBQXdCLENBQUM7QUFDbEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNDbG9ja1NrZXdlZCB9IGZyb20gXCIuL2lzQ2xvY2tTa2V3ZWRcIjtcblxuLyoqXG4gKiBJZiBjbG9jayBpcyBza2V3ZWQsIGl0IHJldHVybnMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBzZXJ2ZXJUaW1lIGFuZCBjdXJyZW50IHRpbWUuXG4gKiBJZiBjbG9jayBpcyBub3Qgc2tld2VkLCBpdCByZXR1cm5zIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldC5cbiAqXG4gKiBAcGFyYW0gY2xvY2tUaW1lIFRoZSBzdHJpbmcgdmFsdWUgb2YgdGhlIHNlcnZlciB0aW1lLlxuICogQHBhcmFtIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldCBUaGUgY3VycmVudCBzeXN0ZW0gY2xvY2sgb2Zmc2V0LlxuICovXG5leHBvcnQgY29uc3QgZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0ID0gKGNsb2NrVGltZTogc3RyaW5nLCBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcik6IG51bWJlciA9PiB7XG4gIGNvbnN0IGNsb2NrVGltZUluTXMgPSBEYXRlLnBhcnNlKGNsb2NrVGltZSk7XG4gIGlmIChpc0Nsb2NrU2tld2VkKGNsb2NrVGltZUluTXMsIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldCkpIHtcbiAgICByZXR1cm4gY2xvY2tUaW1lSW5NcyAtIERhdGUubm93KCk7XG4gIH1cbiAgcmV0dXJuIGN1cnJlbnRTeXN0ZW1DbG9ja09mZnNldDtcbn07XG4iXX0=
@@ -1,11 +0,0 @@
1
- import { getSkewCorrectedDate } from "./getSkewCorrectedDate";
2
- /**
3
- * Checks if the provided date is within the skew window of 300000ms.
4
- *
5
- * @param clockTime - The time to check for skew in milliseconds.
6
- * @param systemClockOffset - The offset of the system clock in milliseconds.
7
- */
8
- export var isClockSkewed = function (clockTime, systemClockOffset) {
9
- return Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;
10
- };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNDbG9ja1NrZXdlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9pc0Nsb2NrU2tld2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLElBQU0sYUFBYSxHQUFHLFVBQUMsU0FBaUIsRUFBRSxpQkFBeUI7SUFDeEUsT0FBQSxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDLElBQUksTUFBTTtBQUFqRixDQUFpRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U2tld0NvcnJlY3RlZERhdGUgfSBmcm9tIFwiLi9nZXRTa2V3Q29ycmVjdGVkRGF0ZVwiO1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgcHJvdmlkZWQgZGF0ZSBpcyB3aXRoaW4gdGhlIHNrZXcgd2luZG93IG9mIDMwMDAwMG1zLlxuICpcbiAqIEBwYXJhbSBjbG9ja1RpbWUgLSBUaGUgdGltZSB0byBjaGVjayBmb3Igc2tldyBpbiBtaWxsaXNlY29uZHMuXG4gKiBAcGFyYW0gc3lzdGVtQ2xvY2tPZmZzZXQgLSBUaGUgb2Zmc2V0IG9mIHRoZSBzeXN0ZW0gY2xvY2sgaW4gbWlsbGlzZWNvbmRzLlxuICovXG5leHBvcnQgY29uc3QgaXNDbG9ja1NrZXdlZCA9IChjbG9ja1RpbWU6IG51bWJlciwgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcikgPT5cbiAgTWF0aC5hYnMoZ2V0U2tld0NvcnJlY3RlZERhdGUoc3lzdGVtQ2xvY2tPZmZzZXQpLmdldFRpbWUoKSAtIGNsb2NrVGltZSkgPj0gMzAwMDAwO1xuIl19