@aws-sdk/middleware-signing 3.34.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.
- package/CHANGELOG.md +8 -0
- package/dist-cjs/configurations.js +85 -0
- package/{dist/cjs → dist-cjs}/index.js +1 -1
- package/dist-cjs/middleware.js +46 -0
- package/dist-cjs/utils/getSkewCorrectedDate.js +6 -0
- package/dist-cjs/utils/getUpdatedSystemClockOffset.js +13 -0
- package/dist-cjs/utils/isClockSkewed.js +7 -0
- package/dist-es/configurations.js +72 -0
- package/dist-es/index.js +3 -0
- package/dist-es/middleware.js +60 -0
- package/dist-es/utils/getSkewCorrectedDate.js +2 -0
- package/dist-es/utils/getUpdatedSystemClockOffset.js +9 -0
- package/dist-es/utils/isClockSkewed.js +5 -0
- package/{dist/types → dist-types}/configurations.d.ts +0 -0
- package/{dist/types → dist-types}/index.d.ts +0 -0
- package/{dist/types → dist-types}/middleware.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/configurations.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/index.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/middleware.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/utils/getSkewCorrectedDate.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/utils/getUpdatedSystemClockOffset.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/utils/isClockSkewed.d.ts +0 -0
- package/{dist/types → dist-types}/utils/getSkewCorrectedDate.d.ts +0 -0
- package/{dist/types → dist-types}/utils/getUpdatedSystemClockOffset.d.ts +0 -0
- package/{dist/types → dist-types}/utils/isClockSkewed.d.ts +0 -0
- package/package.json +11 -11
- package/tsconfig.cjs.json +1 -1
- package/tsconfig.es.json +1 -1
- package/tsconfig.types.json +1 -1
- package/dist/cjs/configurations.js +0 -85
- package/dist/cjs/middleware.js +0 -46
- package/dist/cjs/utils/getSkewCorrectedDate.js +0 -6
- package/dist/cjs/utils/getUpdatedSystemClockOffset.js +0 -13
- package/dist/cjs/utils/isClockSkewed.js +0 -7
- package/dist/es/configurations.js +0 -81
- package/dist/es/index.js +0 -3
- package/dist/es/middleware.js +0 -60
- package/dist/es/utils/getSkewCorrectedDate.js +0 -7
- package/dist/es/utils/getUpdatedSystemClockOffset.js +0 -16
- package/dist/es/utils/isClockSkewed.js +0 -11
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.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
|
+
|
|
6
14
|
# [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
|
|
7
15
|
|
|
8
16
|
|
|
@@ -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=
|
|
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./configurations"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./middleware"), exports);
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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=
|
package/dist-es/index.js
ADDED
|
@@ -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==
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-signing",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.35.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "yarn build:cjs && yarn build:es && yarn build:types",
|
|
6
6
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
7
7
|
"build:es": "tsc -p tsconfig.es.json",
|
|
8
8
|
"build:types": "tsc -p tsconfig.types.json",
|
|
9
|
-
"downlevel-dts": "downlevel-dts dist
|
|
9
|
+
"downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4",
|
|
10
10
|
"test": "jest"
|
|
11
11
|
},
|
|
12
|
-
"main": "./dist
|
|
13
|
-
"module": "./dist
|
|
14
|
-
"types": "./dist
|
|
12
|
+
"main": "./dist-cjs/index.js",
|
|
13
|
+
"module": "./dist-es/index.js",
|
|
14
|
+
"types": "./dist-types/index.d.ts",
|
|
15
15
|
"author": {
|
|
16
16
|
"name": "AWS SDK for JavaScript Team",
|
|
17
17
|
"url": "https://aws.amazon.com/javascript/"
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
"typescript": "~4.3.5"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@aws-sdk/property-provider": "3.
|
|
27
|
-
"@aws-sdk/protocol-http": "3.
|
|
28
|
-
"@aws-sdk/signature-v4": "3.
|
|
29
|
-
"@aws-sdk/types": "3.
|
|
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",
|
|
30
30
|
"tslib": "^2.3.0"
|
|
31
31
|
},
|
|
32
32
|
"engines": {
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
},
|
|
35
35
|
"typesVersions": {
|
|
36
36
|
"<4.0": {
|
|
37
|
-
"dist
|
|
38
|
-
"dist
|
|
37
|
+
"dist-types/*": [
|
|
38
|
+
"dist-types/ts3.4/*"
|
|
39
39
|
]
|
|
40
40
|
}
|
|
41
41
|
},
|
package/tsconfig.cjs.json
CHANGED
package/tsconfig.es.json
CHANGED
package/tsconfig.types.json
CHANGED
|
@@ -1,85 +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
|
-
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0VBQXFEO0FBQ3JELHdEQUE0RjtBQUk1RixNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQztBQW9HakMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxLQUFrRCxFQUN2QixFQUFFO0lBQzdCLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxXQUFXO1FBQ3ZDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsS0FBWSxDQUFDLENBQUM7SUFDbEQsTUFBTSxFQUFFLGlCQUFpQixHQUFHLElBQUksRUFBRSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNyRyxJQUFJLE1BQStCLENBQUM7SUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBRWhCLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUM7U0FBTTtRQUVMLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FDWixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7YUFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQXlCLENBQUM7YUFDeEcsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUM3QixNQUFNLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxHQUFHLFVBQVUsQ0FBQztZQUdyRCxL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QztLQUNIO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZW1vaXplIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBTaWduYXR1cmVWNCwgU2lnbmF0dXJlVjRDcnlwdG9Jbml0LCBTaWduYXR1cmVWNEluaXQgfSBmcm9tIFwiQGF3cy1zZGsvc2lnbmF0dXJlLXY0XCI7XG5pbXBvcnQgeyBDcmVkZW50aWFscywgSGFzaENvbnN0cnVjdG9yLCBQcm92aWRlciwgUmVnaW9uSW5mbywgUmVnaW9uSW5mb1Byb3ZpZGVyLCBSZXF1ZXN0U2lnbmVyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbi8vIDUgbWludXRlcyBidWZmZXIgdGltZSB0aGUgcmVmcmVzaCB0aGUgY3JlZGVudGlhbCBiZWZvcmUgaXQgcmVhbGx5IGV4cGlyZXNcbmNvbnN0IENSRURFTlRJQUxfRVhQSVJFX1dJTkRPVyA9IDMwMDAwMDtcblxuLy8gQXdzQXV0aCB2L3MgU2lnVjRBdXRoXG4vLyBBd3NBdXRoOiBzcGVjaWZpYyB0byBTaWdWNCBhdXRoIGZvciBBV1Mgc2VydmljZXNcbi8vIFNpZ1Y0QXV0aDogU2lnVjQgYXV0aCBmb3Igbm9uLUFXUyBzZXJ2aWNlc1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0F1dGhJbnB1dENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY3JlZGVudGlhbHMgdXNlZCB0byBzaWduIHJlcXVlc3RzLlxuICAgKi9cbiAgY3JlZGVudGlhbHM/OiBDcmVkZW50aWFscyB8IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcblxuICAvKipcbiAgICogVGhlIHNpZ25lciB0byB1c2Ugd2hlbiBzaWduaW5nIHJlcXVlc3RzLlxuICAgKi9cbiAgc2lnbmVyPzogUmVxdWVzdFNpZ25lciB8IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVzY2FwZSByZXF1ZXN0IHBhdGggd2hlbiBzaWduaW5nIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgc2lnbmluZ0VzY2FwZVBhdGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbiBvZmZzZXQgdmFsdWUgaW4gbWlsbGlzZWNvbmRzIHRvIGFwcGx5IHRvIGFsbCBzaWduaW5nIHRpbWVzLlxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb24gd2hlcmUgeW91IHdhbnQgdG8gc2lnbiB5b3VyIHJlcXVlc3QgYWdhaW5zdC4gVGhpc1xuICAgKiBjYW4gYmUgZGlmZmVyZW50IHRvIHRoZSByZWdpb24gaW4gdGhlIGVuZHBvaW50LlxuICAgKi9cbiAgc2lnbmluZ1JlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGluamVjdGFibGUgU2lnVjQtY29tcGF0aWJsZSBzaWduZXIgY2xhc3MgY29uc3RydWN0b3IuIElmIG5vdCBzdXBwbGllZCxcbiAgICogcmVndWxhciBTaWduYXR1cmVWNCBjb25zdHJ1Y3RvciB3aWxsIGJlIHVzZWQuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBzaWduZXJDb25zdHJ1Y3Rvcj86IG5ldyAob3B0aW9uczogU2lnbmF0dXJlVjRJbml0ICYgU2lnbmF0dXJlVjRDcnlwdG9Jbml0KSA9PiBSZXF1ZXN0U2lnbmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ1Y0QXV0aElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyB1c2VkIHRvIHNpZ24gcmVxdWVzdHMuXG4gICAqL1xuICBjcmVkZW50aWFscz86IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmVyIHRvIHVzZSB3aGVuIHNpZ25pbmcgcmVxdWVzdHMuXG4gICAqL1xuICBzaWduZXI/OiBSZXF1ZXN0U2lnbmVyIHwgUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXNjYXBlIHJlcXVlc3QgcGF0aCB3aGVuIHNpZ25pbmcgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBzaWduaW5nRXNjYXBlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFuIG9mZnNldCB2YWx1ZSBpbiBtaWxsaXNlY29uZHMgdG8gYXBwbHkgdG8gYWxsIHNpZ25pbmcgdGltZXMuXG4gICAqL1xuICBzeXN0ZW1DbG9ja09mZnNldD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG4gIHNpZ25pbmdOYW1lPzogc3RyaW5nO1xuICBzZXJ2aWNlSWQ6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmludGVyZmFjZSBTaWdWNFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgc2lnbmluZ05hbWU6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQXV0aFJlc29sdmVkQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5jcmVkZW50aWFsc31cbiAgICovXG4gIGNyZWRlbnRpYWxzOiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBBd3NBdXRoSW5wdXRDb25maWcuc2lnbmVyfVxuICAgKi9cbiAgc2lnbmVyOiBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5zaWduaW5nRXNjYXBlUGF0aH1cbiAgICovXG4gIHNpZ25pbmdFc2NhcGVQYXRoOiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQXdzQXV0aElucHV0Q29uZmlnLnN5c3RlbUNsb2NrT2Zmc2V0fVxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWdWNEF1dGhSZXNvbHZlZENvbmZpZyBleHRlbmRzIEF3c0F1dGhSZXNvbHZlZENvbmZpZyB7fVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUF3c0F1dGhDb25maWcgPSA8VD4oXG4gIGlucHV0OiBUICYgQXdzQXV0aElucHV0Q29uZmlnICYgUHJldmlvdXNseVJlc29sdmVkXG4pOiBUICYgQXdzQXV0aFJlc29sdmVkQ29uZmlnID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZENyZWRzID0gaW5wdXQuY3JlZGVudGlhbHNcbiAgICA/IG5vcm1hbGl6ZUNyZWRlbnRpYWxQcm92aWRlcihpbnB1dC5jcmVkZW50aWFscylcbiAgICA6IGlucHV0LmNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXIoaW5wdXQgYXMgYW55KTtcbiAgY29uc3QgeyBzaWduaW5nRXNjYXBlUGF0aCA9IHRydWUsIHN5c3RlbUNsb2NrT2Zmc2V0ID0gaW5wdXQuc3lzdGVtQ2xvY2tPZmZzZXQgfHwgMCwgc2hhMjU2IH0gPSBpbnB1dDtcbiAgbGV0IHNpZ25lcjogUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG4gIGlmIChpbnB1dC5zaWduZXIpIHtcbiAgICAvL2lmIHNpZ25lciBpcyBzdXBwbGllZCBieSB1c2VyLCBub3JtYWxpemUgaXQgdG8gYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBwcm9taXNlIGZvciBzaWduZXIuXG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoaW5wdXQuc2lnbmVyKTtcbiAgfSBlbHNlIHtcbiAgICAvL2NvbnN0cnVjdCBhIHByb3ZpZGVyIGluZmVycmluZyBzaWduaW5nIGZyb20gcmVnaW9uLlxuICAgIHNpZ25lciA9ICgpID0+XG4gICAgICBub3JtYWxpemVQcm92aWRlcihpbnB1dC5yZWdpb24pKClcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlZ2lvbikgPT4gWyhhd2FpdCBpbnB1dC5yZWdpb25JbmZvUHJvdmlkZXIocmVnaW9uKSkgfHwge30sIHJlZ2lvbl0gYXMgW1JlZ2lvbkluZm8sIHN0cmluZ10pXG4gICAgICAgIC50aGVuKChbcmVnaW9uSW5mbywgcmVnaW9uXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc2lnbmluZ1JlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgfSA9IHJlZ2lvbkluZm87XG4gICAgICAgICAgLy91cGRhdGUgY2xpZW50J3Mgc2luZ2luZyByZWdpb24gYW5kIHNpZ25pbmcgc2VydmljZSBjb25maWcgaWYgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICAgICAgLy9zaWduaW5nIHJlZ2lvbiByZXNvbHZpbmcgb3JkZXI6IHVzZXIgc3VwcGxpZWQgc2lnbmluZ1JlZ2lvbiAtPiBlbmRwb2ludHMuanNvbiBpbmZlcnJlZCByZWdpb24gLT4gY2xpZW50IHJlZ2lvblxuICAgICAgICAgIGlucHV0LnNpZ25pbmdSZWdpb24gPSBpbnB1dC5zaWduaW5nUmVnaW9uIHx8IHNpZ25pbmdSZWdpb24gfHwgcmVnaW9uO1xuICAgICAgICAgIC8vc2lnbmluZyBuYW1lIHJlc29sdmluZyBvcmRlcjpcbiAgICAgICAgICAvL3VzZXIgc3VwcGxpZWQgc2lnbmluZ05hbWUgLT4gZW5kcG9pbnRzLmpzb24gaW5mZXJyZWQgKGNyZWRlbnRpYWwgc2NvcGUgLT4gbW9kZWwgYXJuTmFtZXNwYWNlKSAtPiBtb2RlbCBzZXJ2aWNlIGlkXG4gICAgICAgICAgaW5wdXQuc2lnbmluZ05hbWUgPSBpbnB1dC5zaWduaW5nTmFtZSB8fCBzaWduaW5nU2VydmljZSB8fCBpbnB1dC5zZXJ2aWNlSWQ7XG5cbiAgICAgICAgICBjb25zdCBwYXJhbXM6IFNpZ25hdHVyZVY0SW5pdCAmIFNpZ25hdHVyZVY0Q3J5cHRvSW5pdCA9IHtcbiAgICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICAgICAgICAgIHJlZ2lvbjogaW5wdXQuc2lnbmluZ1JlZ2lvbixcbiAgICAgICAgICAgIHNlcnZpY2U6IGlucHV0LnNpZ25pbmdOYW1lLFxuICAgICAgICAgICAgc2hhMjU2LFxuICAgICAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCBzaWduZXJDb25zdHJ1Y3RvciA9IGlucHV0LnNpZ25lckNvbnN0cnVjdG9yIHx8IFNpZ25hdHVyZVY0O1xuICAgICAgICAgIHJldHVybiBuZXcgc2lnbmVyQ29uc3RydWN0b3IocGFyYW1zKTtcbiAgICAgICAgfSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIHN5c3RlbUNsb2NrT2Zmc2V0LFxuICAgIHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgc2lnbmVyLFxuICB9O1xufTtcblxuLy8gVE9ETzogcmVkdWNlIGNvZGUgZHVwbGljYXRpb25cbmV4cG9ydCBjb25zdCByZXNvbHZlU2lnVjRBdXRoQ29uZmlnID0gPFQ+KFxuICBpbnB1dDogVCAmIFNpZ1Y0QXV0aElucHV0Q29uZmlnICYgU2lnVjRQcmV2aW91c2x5UmVzb2x2ZWRcbik6IFQgJiBTaWdWNEF1dGhSZXNvbHZlZENvbmZpZyA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRDcmVkcyA9IGlucHV0LmNyZWRlbnRpYWxzXG4gICAgPyBub3JtYWxpemVDcmVkZW50aWFsUHJvdmlkZXIoaW5wdXQuY3JlZGVudGlhbHMpXG4gICAgOiBpbnB1dC5jcmVkZW50aWFsRGVmYXVsdFByb3ZpZGVyKGlucHV0IGFzIGFueSk7XG4gIGNvbnN0IHsgc2lnbmluZ0VzY2FwZVBhdGggPSB0cnVlLCBzeXN0ZW1DbG9ja09mZnNldCA9IGlucHV0LnN5c3RlbUNsb2NrT2Zmc2V0IHx8IDAsIHNoYTI1NiB9ID0gaW5wdXQ7XG4gIGxldCBzaWduZXI6IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuICBpZiAoaW5wdXQuc2lnbmVyKSB7XG4gICAgLy9pZiBzaWduZXIgaXMgc3VwcGxpZWQgYnkgdXNlciwgbm9ybWFsaXplIGl0IHRvIGEgZnVuY3Rpb24gcmV0dXJuaW5nIGEgcHJvbWlzZSBmb3Igc2lnbmVyLlxuICAgIHNpZ25lciA9IG5vcm1hbGl6ZVByb3ZpZGVyKGlucHV0LnNpZ25lcik7XG4gIH0gZWxzZSB7XG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoXG4gICAgICBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICBjcmVkZW50aWFsczogbm9ybWFsaXplZENyZWRzLFxuICAgICAgICByZWdpb246IGlucHV0LnJlZ2lvbixcbiAgICAgICAgc2VydmljZTogaW5wdXQuc2lnbmluZ05hbWUsXG4gICAgICAgIHNoYTI1NixcbiAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIHN5c3RlbUNsb2NrT2Zmc2V0LFxuICAgIHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgc2lnbmVyLFxuICB9O1xufTtcblxuY29uc3Qgbm9ybWFsaXplUHJvdmlkZXIgPSA8VD4oaW5wdXQ6IFQgfCBQcm92aWRlcjxUPik6IFByb3ZpZGVyPFQ+ID0+IHtcbiAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHByb21pc2lmaWVkID0gUHJvbWlzZS5yZXNvbHZlKGlucHV0KTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH1cbiAgcmV0dXJuIGlucHV0IGFzIFByb3ZpZGVyPFQ+O1xufTtcblxuY29uc3Qgbm9ybWFsaXplQ3JlZGVudGlhbFByb3ZpZGVyID0gKGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyB8IFByb3ZpZGVyPENyZWRlbnRpYWxzPik6IFByb3ZpZGVyPENyZWRlbnRpYWxzPiA9PiB7XG4gIGlmICh0eXBlb2YgY3JlZGVudGlhbHMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiBtZW1vaXplKFxuICAgICAgY3JlZGVudGlhbHMsXG4gICAgICAoY3JlZGVudGlhbHMpID0+XG4gICAgICAgIGNyZWRlbnRpYWxzLmV4cGlyYXRpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBjcmVkZW50aWFscy5leHBpcmF0aW9uLmdldFRpbWUoKSAtIERhdGUubm93KCkgPCBDUkVERU5USUFMX0VYUElSRV9XSU5ET1csXG4gICAgICAoY3JlZGVudGlhbHMpID0+IGNyZWRlbnRpYWxzLmV4cGlyYXRpb24gIT09IHVuZGVmaW5lZFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZVByb3ZpZGVyKGNyZWRlbnRpYWxzKTtcbn07XG4iXX0=
|
package/dist/cjs/middleware.js
DELETED
|
@@ -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: 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUFxRDtBQVlyRCx1RUFBb0U7QUFDcEUscUZBQWtGO0FBRTNFLE1BQU0saUJBQWlCLEdBQzVCLENBQ0UsT0FBOEIsRUFDWSxFQUFFLENBQzlDLENBQUMsSUFBb0MsRUFBRSxPQUFnQyxFQUFrQyxFQUFFLENBQ3pHLEtBQUssV0FBVyxJQUFxQztJQUNuRCxJQUFJLENBQUMsMkJBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDO1FBQ3hCLEdBQUcsSUFBSTtRQUNQLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN2QyxXQUFXLEVBQUUsMkNBQW9CLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO1lBQzVELGFBQWEsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7WUFDeEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztTQUMzQyxDQUFDO0tBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2pCLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPLENBQUMsaUJBQWlCLEdBQUcseURBQTJCLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUN0RztRQUNELE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQWUsQ0FBQztJQUMzQyxNQUFNLFVBQVUsR0FBRyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxJQUFJLFVBQVUsRUFBRTtRQUNkLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyx5REFBMkIsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDaEc7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUE3Qk8sUUFBQSxpQkFBaUIscUJBNkJ4QjtBQUVPLFFBQUEsd0JBQXdCLEdBQThCO0lBQ2pFLElBQUksRUFBRSxtQkFBbUI7SUFDekIsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztJQUM5QixRQUFRLEVBQUUsT0FBTztJQUNqQixZQUFZLEVBQUUsaUJBQWlCO0lBQy9CLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUE4QixFQUF1QixFQUFFLENBQUMsQ0FBQztJQUN4RixZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsYUFBYSxDQUFDLHlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLGdDQUF3QixDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUpVLFFBQUEsZ0JBQWdCLG9CQUkxQjtBQUVVLFFBQUEsa0JBQWtCLEdBQUcsd0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQge1xuICBGaW5hbGl6ZUhhbmRsZXIsXG4gIEZpbmFsaXplSGFuZGxlckFyZ3VtZW50cyxcbiAgRmluYWxpemVIYW5kbGVyT3V0cHV0LFxuICBGaW5hbGl6ZVJlcXVlc3RNaWRkbGV3YXJlLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgUGx1Z2dhYmxlLFxuICBSZWxhdGl2ZU1pZGRsZXdhcmVPcHRpb25zLFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgQXdzQXV0aFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcbmltcG9ydCB7IGdldFNrZXdDb3JyZWN0ZWREYXRlIH0gZnJvbSBcIi4vdXRpbHMvZ2V0U2tld0NvcnJlY3RlZERhdGVcIjtcbmltcG9ydCB7IGdldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldCB9IGZyb20gXCIuL3V0aWxzL2dldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldFwiO1xuXG5leHBvcnQgY29uc3QgYXdzQXV0aE1pZGRsZXdhcmUgPVxuICA8SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCBleHRlbmRzIG9iamVjdD4oXG4gICAgb3B0aW9uczogQXdzQXV0aFJlc29sdmVkQ29uZmlnXG4gICk6IEZpbmFsaXplUmVxdWVzdE1pZGRsZXdhcmU8SW5wdXQsIE91dHB1dD4gPT5cbiAgKG5leHQ6IEZpbmFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PiwgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHQpOiBGaW5hbGl6ZUhhbmRsZXI8SW5wdXQsIE91dHB1dD4gPT5cbiAgICBhc3luYyBmdW5jdGlvbiAoYXJnczogRmluYWxpemVIYW5kbGVyQXJndW1lbnRzPElucHV0Pik6IFByb21pc2U8RmluYWxpemVIYW5kbGVyT3V0cHV0PE91dHB1dD4+IHtcbiAgICAgIGlmICghSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShhcmdzLnJlcXVlc3QpKSByZXR1cm4gbmV4dChhcmdzKTtcbiAgICAgIGNvbnN0IHNpZ25lciA9IGF3YWl0IG9wdGlvbnMuc2lnbmVyKCk7XG4gICAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBuZXh0KHtcbiAgICAgICAgLi4uYXJncyxcbiAgICAgICAgcmVxdWVzdDogYXdhaXQgc2lnbmVyLnNpZ24oYXJncy5yZXF1ZXN0LCB7XG4gICAgICAgICAgc2lnbmluZ0RhdGU6IGdldFNrZXdDb3JyZWN0ZWREYXRlKG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQpLFxuICAgICAgICAgIHNpZ25pbmdSZWdpb246IGNvbnRleHRbXCJzaWduaW5nX3JlZ2lvblwiXSxcbiAgICAgICAgICBzaWduaW5nU2VydmljZTogY29udGV4dFtcInNpZ25pbmdfc2VydmljZVwiXSxcbiAgICAgICAgfSksXG4gICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgaWYgKGVycm9yLlNlcnZlclRpbWUpIHtcbiAgICAgICAgICBvcHRpb25zLnN5c3RlbUNsb2NrT2Zmc2V0ID0gZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0KGVycm9yLlNlcnZlclRpbWUsIG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHsgaGVhZGVycyB9ID0gb3V0cHV0LnJlc3BvbnNlIGFzIGFueTtcbiAgICAgIGNvbnN0IGRhdGVIZWFkZXIgPSBoZWFkZXJzICYmIChoZWFkZXJzLmRhdGUgfHwgaGVhZGVycy5EYXRlKTtcbiAgICAgIGlmIChkYXRlSGVhZGVyKSB7XG4gICAgICAgIG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQgPSBnZXRVcGRhdGVkU3lzdGVtQ2xvY2tPZmZzZXQoZGF0ZUhlYWRlciwgb3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgfTtcblxuZXhwb3J0IGNvbnN0IGF3c0F1dGhNaWRkbGV3YXJlT3B0aW9uczogUmVsYXRpdmVNaWRkbGV3YXJlT3B0aW9ucyA9IHtcbiAgbmFtZTogXCJhd3NBdXRoTWlkZGxld2FyZVwiLFxuICB0YWdzOiBbXCJTSUdOQVRVUkVcIiwgXCJBV1NBVVRIXCJdLFxuICByZWxhdGlvbjogXCJhZnRlclwiLFxuICB0b01pZGRsZXdhcmU6IFwicmV0cnlNaWRkbGV3YXJlXCIsXG4gIG92ZXJyaWRlOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldEF3c0F1dGhQbHVnaW4gPSAob3B0aW9uczogQXdzQXV0aFJlc29sdmVkQ29uZmlnKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZFJlbGF0aXZlVG8oYXdzQXV0aE1pZGRsZXdhcmUob3B0aW9ucyksIGF3c0F1dGhNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGdldFNpZ1Y0QXV0aFBsdWdpbiA9IGdldEF3c0F1dGhQbHVnaW47XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2tld0NvcnJlY3RlZERhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZ2V0U2tld0NvcnJlY3RlZERhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS08sTUFBTSxvQkFBb0IsR0FBRyxDQUFDLGlCQUF5QixFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztBQUEvRixRQUFBLG9CQUFvQix3QkFBMkUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJldHVybnMgYSBkYXRlIHRoYXQgaXMgY29ycmVjdGVkIGZvciBjbG9jayBza2V3LlxuICpcbiAqIEBwYXJhbSBzeXN0ZW1DbG9ja09mZnNldCBUaGUgb2Zmc2V0IG9mIHRoZSBzeXN0ZW0gY2xvY2sgaW4gbWlsbGlzZWNvbmRzLlxuICovXG5leHBvcnQgY29uc3QgZ2V0U2tld0NvcnJlY3RlZERhdGUgPSAoc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcikgPT4gbmV3IERhdGUoRGF0ZS5ub3coKSArIHN5c3RlbUNsb2NrT2Zmc2V0KTtcbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VXBkYXRlZFN5c3RlbUNsb2NrT2Zmc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2dldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFTekMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLFNBQWlCLEVBQUUsd0JBQWdDLEVBQVUsRUFBRTtJQUN6RyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLElBQUksNkJBQWEsQ0FBQyxhQUFhLEVBQUUsd0JBQXdCLENBQUMsRUFBRTtRQUMxRCxPQUFPLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDbkM7SUFDRCxPQUFPLHdCQUF3QixDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQU5XLFFBQUEsMkJBQTJCLCtCQU10QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQ2xvY2tTa2V3ZWQgfSBmcm9tIFwiLi9pc0Nsb2NrU2tld2VkXCI7XG5cbi8qKlxuICogSWYgY2xvY2sgaXMgc2tld2VkLCBpdCByZXR1cm5zIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gc2VydmVyVGltZSBhbmQgY3VycmVudCB0aW1lLlxuICogSWYgY2xvY2sgaXMgbm90IHNrZXdlZCwgaXQgcmV0dXJucyBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQuXG4gKlxuICogQHBhcmFtIGNsb2NrVGltZSBUaGUgc3RyaW5nIHZhbHVlIG9mIHRoZSBzZXJ2ZXIgdGltZS5cbiAqIEBwYXJhbSBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQgVGhlIGN1cnJlbnQgc3lzdGVtIGNsb2NrIG9mZnNldC5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFVwZGF0ZWRTeXN0ZW1DbG9ja09mZnNldCA9IChjbG9ja1RpbWU6IHN0cmluZywgY3VycmVudFN5c3RlbUNsb2NrT2Zmc2V0OiBudW1iZXIpOiBudW1iZXIgPT4ge1xuICBjb25zdCBjbG9ja1RpbWVJbk1zID0gRGF0ZS5wYXJzZShjbG9ja1RpbWUpO1xuICBpZiAoaXNDbG9ja1NrZXdlZChjbG9ja1RpbWVJbk1zLCBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQpKSB7XG4gICAgcmV0dXJuIGNsb2NrVGltZUluTXMgLSBEYXRlLm5vdygpO1xuICB9XG4gIHJldHVybiBjdXJyZW50U3lzdGVtQ2xvY2tPZmZzZXQ7XG59O1xuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNDbG9ja1NrZXdlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9pc0Nsb2NrU2tld2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlFQUE4RDtBQVF2RCxNQUFNLGFBQWEsR0FBRyxDQUFDLFNBQWlCLEVBQUUsaUJBQXlCLEVBQUUsRUFBRSxDQUM1RSxJQUFJLENBQUMsR0FBRyxDQUFDLDJDQUFvQixDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDO0FBRHZFLFFBQUEsYUFBYSxpQkFDMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRTa2V3Q29ycmVjdGVkRGF0ZSB9IGZyb20gXCIuL2dldFNrZXdDb3JyZWN0ZWREYXRlXCI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCBkYXRlIGlzIHdpdGhpbiB0aGUgc2tldyB3aW5kb3cgb2YgMzAwMDAwbXMuXG4gKlxuICogQHBhcmFtIGNsb2NrVGltZSAtIFRoZSB0aW1lIHRvIGNoZWNrIGZvciBza2V3IGluIG1pbGxpc2Vjb25kcy5cbiAqIEBwYXJhbSBzeXN0ZW1DbG9ja09mZnNldCAtIFRoZSBvZmZzZXQgb2YgdGhlIHN5c3RlbSBjbG9jayBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0Nsb2NrU2tld2VkID0gKGNsb2NrVGltZTogbnVtYmVyLCBzeXN0ZW1DbG9ja09mZnNldDogbnVtYmVyKSA9PlxuICBNYXRoLmFicyhnZXRTa2V3Q29ycmVjdGVkRGF0ZShzeXN0ZW1DbG9ja09mZnNldCkuZ2V0VGltZSgpIC0gY2xvY2tUaW1lKSA+PSAzMDAwMDA7XG4iXX0=
|
|
@@ -1,81 +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
|
-
var params = __assign(__assign({}, input), { credentials: normalizedCreds, region: input.signingRegion, service: input.signingName, sha256: sha256, uriEscapePath: signingEscapePath });
|
|
36
|
-
var signerConstructor = input.signerConstructor || SignatureV4;
|
|
37
|
-
return new signerConstructor(params);
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });
|
|
42
|
-
};
|
|
43
|
-
// TODO: reduce code duplication
|
|
44
|
-
export var resolveSigV4AuthConfig = function (input) {
|
|
45
|
-
var normalizedCreds = input.credentials
|
|
46
|
-
? normalizeCredentialProvider(input.credentials)
|
|
47
|
-
: input.credentialDefaultProvider(input);
|
|
48
|
-
var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;
|
|
49
|
-
var signer;
|
|
50
|
-
if (input.signer) {
|
|
51
|
-
//if signer is supplied by user, normalize it to a function returning a promise for signer.
|
|
52
|
-
signer = normalizeProvider(input.signer);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
signer = normalizeProvider(new SignatureV4({
|
|
56
|
-
credentials: normalizedCreds,
|
|
57
|
-
region: input.region,
|
|
58
|
-
service: input.signingName,
|
|
59
|
-
sha256: sha256,
|
|
60
|
-
uriEscapePath: signingEscapePath,
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
|
-
return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });
|
|
64
|
-
};
|
|
65
|
-
var normalizeProvider = function (input) {
|
|
66
|
-
if (typeof input === "object") {
|
|
67
|
-
var promisified_1 = Promise.resolve(input);
|
|
68
|
-
return function () { return promisified_1; };
|
|
69
|
-
}
|
|
70
|
-
return input;
|
|
71
|
-
};
|
|
72
|
-
var normalizeCredentialProvider = function (credentials) {
|
|
73
|
-
if (typeof credentials === "function") {
|
|
74
|
-
return memoize(credentials, function (credentials) {
|
|
75
|
-
return credentials.expiration !== undefined &&
|
|
76
|
-
credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW;
|
|
77
|
-
}, function (credentials) { return credentials.expiration !== undefined; });
|
|
78
|
-
}
|
|
79
|
-
return normalizeProvider(credentials);
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUEwQyxNQUFNLHVCQUF1QixDQUFDO0FBRzVGLDRFQUE0RTtBQUM1RSxJQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQztBQW9HeEMsTUFBTSxDQUFDLElBQU0sb0JBQW9CLEdBQUcsVUFDbEMsS0FBa0Q7SUFFbEQsSUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFdBQVc7UUFDdkMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDaEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxLQUFZLENBQUMsQ0FBQztJQUMxQyxJQUFBLEtBQXVGLEtBQUssa0JBQXBFLEVBQXhCLGlCQUFpQixtQkFBRyxJQUFJLEtBQUEsRUFBRSxLQUE2RCxLQUFLLGtCQUFsQixFQUFoRCxpQkFBaUIsbUJBQUcsS0FBSyxDQUFDLGlCQUFpQixJQUFJLENBQUMsS0FBQSxFQUFFLE1BQU0sR0FBSyxLQUFLLE9BQVYsQ0FBVztJQUNyRyxJQUFJLE1BQStCLENBQUM7SUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2hCLDJGQUEyRjtRQUMzRixNQUFNLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzFDO1NBQU07UUFDTCxxREFBcUQ7UUFDckQsTUFBTSxHQUFHO1lBQ1AsT0FBQSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7aUJBQzlCLElBQUksQ0FBQyxVQUFPLE1BQU07OzRCQUFPLHFCQUFNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBQTs0QkFBeEMsc0JBQUEsQ0FBQyxD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QUFFRixJQUFNLDJCQUEyQixHQUFHLFVBQUMsV0FBZ0Q7SUFDbkYsSUFBSSxPQUFPLFdBQVcsS0FBSyxVQUFVLEVBQUU7UUFDckMsT0FBTyxPQUFPLENBQ1osV0FBVyxFQUNYLFVBQUMsV0FBVztZQUNWLE9BQUEsV0FBVyxDQUFDLFVBQVUsS0FBSyxTQUFTO2dCQUNwQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyx3QkFBd0I7UUFEeEUsQ0FDd0UsRUFDMUUsVUFBQyxXQUFXLElBQUssT0FBQSxXQUFXLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBcEMsQ0FBb0MsQ0FDdEQsQ0FBQztLQUNIO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZW1vaXplIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBTaWduYXR1cmVWNCwgU2lnbmF0dXJlVjRDcnlwdG9Jbml0LCBTaWduYXR1cmVWNEluaXQgfSBmcm9tIFwiQGF3cy1zZGsvc2lnbmF0dXJlLXY0XCI7XG5pbXBvcnQgeyBDcmVkZW50aWFscywgSGFzaENvbnN0cnVjdG9yLCBQcm92aWRlciwgUmVnaW9uSW5mbywgUmVnaW9uSW5mb1Byb3ZpZGVyLCBSZXF1ZXN0U2lnbmVyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbi8vIDUgbWludXRlcyBidWZmZXIgdGltZSB0aGUgcmVmcmVzaCB0aGUgY3JlZGVudGlhbCBiZWZvcmUgaXQgcmVhbGx5IGV4cGlyZXNcbmNvbnN0IENSRURFTlRJQUxfRVhQSVJFX1dJTkRPVyA9IDMwMDAwMDtcblxuLy8gQXdzQXV0aCB2L3MgU2lnVjRBdXRoXG4vLyBBd3NBdXRoOiBzcGVjaWZpYyB0byBTaWdWNCBhdXRoIGZvciBBV1Mgc2VydmljZXNcbi8vIFNpZ1Y0QXV0aDogU2lnVjQgYXV0aCBmb3Igbm9uLUFXUyBzZXJ2aWNlc1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0F1dGhJbnB1dENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY3JlZGVudGlhbHMgdXNlZCB0byBzaWduIHJlcXVlc3RzLlxuICAgKi9cbiAgY3JlZGVudGlhbHM/OiBDcmVkZW50aWFscyB8IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcblxuICAvKipcbiAgICogVGhlIHNpZ25lciB0byB1c2Ugd2hlbiBzaWduaW5nIHJlcXVlc3RzLlxuICAgKi9cbiAgc2lnbmVyPzogUmVxdWVzdFNpZ25lciB8IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVzY2FwZSByZXF1ZXN0IHBhdGggd2hlbiBzaWduaW5nIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgc2lnbmluZ0VzY2FwZVBhdGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbiBvZmZzZXQgdmFsdWUgaW4gbWlsbGlzZWNvbmRzIHRvIGFwcGx5IHRvIGFsbCBzaWduaW5nIHRpbWVzLlxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb24gd2hlcmUgeW91IHdhbnQgdG8gc2lnbiB5b3VyIHJlcXVlc3QgYWdhaW5zdC4gVGhpc1xuICAgKiBjYW4gYmUgZGlmZmVyZW50IHRvIHRoZSByZWdpb24gaW4gdGhlIGVuZHBvaW50LlxuICAgKi9cbiAgc2lnbmluZ1JlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGluamVjdGFibGUgU2lnVjQtY29tcGF0aWJsZSBzaWduZXIgY2xhc3MgY29uc3RydWN0b3IuIElmIG5vdCBzdXBwbGllZCxcbiAgICogcmVndWxhciBTaWduYXR1cmVWNCBjb25zdHJ1Y3RvciB3aWxsIGJlIHVzZWQuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBzaWduZXJDb25zdHJ1Y3Rvcj86IG5ldyAob3B0aW9uczogU2lnbmF0dXJlVjRJbml0ICYgU2lnbmF0dXJlVjRDcnlwdG9Jbml0KSA9PiBSZXF1ZXN0U2lnbmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ1Y0QXV0aElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyB1c2VkIHRvIHNpZ24gcmVxdWVzdHMuXG4gICAqL1xuICBjcmVkZW50aWFscz86IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmVyIHRvIHVzZSB3aGVuIHNpZ25pbmcgcmVxdWVzdHMuXG4gICAqL1xuICBzaWduZXI/OiBSZXF1ZXN0U2lnbmVyIHwgUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXNjYXBlIHJlcXVlc3QgcGF0aCB3aGVuIHNpZ25pbmcgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBzaWduaW5nRXNjYXBlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFuIG9mZnNldCB2YWx1ZSBpbiBtaWxsaXNlY29uZHMgdG8gYXBwbHkgdG8gYWxsIHNpZ25pbmcgdGltZXMuXG4gICAqL1xuICBzeXN0ZW1DbG9ja09mZnNldD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG4gIHNpZ25pbmdOYW1lPzogc3RyaW5nO1xuICBzZXJ2aWNlSWQ6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmludGVyZmFjZSBTaWdWNFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgc2lnbmluZ05hbWU6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQXV0aFJlc29sdmVkQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5jcmVkZW50aWFsc31cbiAgICovXG4gIGNyZWRlbnRpYWxzOiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBBd3NBdXRoSW5wdXRDb25maWcuc2lnbmVyfVxuICAgKi9cbiAgc2lnbmVyOiBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5zaWduaW5nRXNjYXBlUGF0aH1cbiAgICovXG4gIHNpZ25pbmdFc2NhcGVQYXRoOiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQXdzQXV0aElucHV0Q29uZmlnLnN5c3RlbUNsb2NrT2Zmc2V0fVxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWdWNEF1dGhSZXNvbHZlZENvbmZpZyBleHRlbmRzIEF3c0F1dGhSZXNvbHZlZENvbmZpZyB7fVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUF3c0F1dGhDb25maWcgPSA8VD4oXG4gIGlucHV0OiBUICYgQXdzQXV0aElucHV0Q29uZmlnICYgUHJldmlvdXNseVJlc29sdmVkXG4pOiBUICYgQXdzQXV0aFJlc29sdmVkQ29uZmlnID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZENyZWRzID0gaW5wdXQuY3JlZGVudGlhbHNcbiAgICA/IG5vcm1hbGl6ZUNyZWRlbnRpYWxQcm92aWRlcihpbnB1dC5jcmVkZW50aWFscylcbiAgICA6IGlucHV0LmNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXIoaW5wdXQgYXMgYW55KTtcbiAgY29uc3QgeyBzaWduaW5nRXNjYXBlUGF0aCA9IHRydWUsIHN5c3RlbUNsb2NrT2Zmc2V0ID0gaW5wdXQuc3lzdGVtQ2xvY2tPZmZzZXQgfHwgMCwgc2hhMjU2IH0gPSBpbnB1dDtcbiAgbGV0IHNpZ25lcjogUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG4gIGlmIChpbnB1dC5zaWduZXIpIHtcbiAgICAvL2lmIHNpZ25lciBpcyBzdXBwbGllZCBieSB1c2VyLCBub3JtYWxpemUgaXQgdG8gYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBwcm9taXNlIGZvciBzaWduZXIuXG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoaW5wdXQuc2lnbmVyKTtcbiAgfSBlbHNlIHtcbiAgICAvL2NvbnN0cnVjdCBhIHByb3ZpZGVyIGluZmVycmluZyBzaWduaW5nIGZyb20gcmVnaW9uLlxuICAgIHNpZ25lciA9ICgpID0+XG4gICAgICBub3JtYWxpemVQcm92aWRlcihpbnB1dC5yZWdpb24pKClcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlZ2lvbikgPT4gWyhhd2FpdCBpbnB1dC5yZWdpb25JbmZvUHJvdmlkZXIocmVnaW9uKSkgfHwge30sIHJlZ2lvbl0gYXMgW1JlZ2lvbkluZm8sIHN0cmluZ10pXG4gICAgICAgIC50aGVuKChbcmVnaW9uSW5mbywgcmVnaW9uXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc2lnbmluZ1JlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgfSA9IHJlZ2lvbkluZm87XG4gICAgICAgICAgLy91cGRhdGUgY2xpZW50J3Mgc2luZ2luZyByZWdpb24gYW5kIHNpZ25pbmcgc2VydmljZSBjb25maWcgaWYgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICAgICAgLy9zaWduaW5nIHJlZ2lvbiByZXNvbHZpbmcgb3JkZXI6IHVzZXIgc3VwcGxpZWQgc2lnbmluZ1JlZ2lvbiAtPiBlbmRwb2ludHMuanNvbiBpbmZlcnJlZCByZWdpb24gLT4gY2xpZW50IHJlZ2lvblxuICAgICAgICAgIGlucHV0LnNpZ25pbmdSZWdpb24gPSBpbnB1dC5zaWduaW5nUmVnaW9uIHx8IHNpZ25pbmdSZWdpb24gfHwgcmVnaW9uO1xuICAgICAgICAgIC8vc2lnbmluZyBuYW1lIHJlc29sdmluZyBvcmRlcjpcbiAgICAgICAgICAvL3VzZXIgc3VwcGxpZWQgc2lnbmluZ05hbWUgLT4gZW5kcG9pbnRzLmpzb24gaW5mZXJyZWQgKGNyZWRlbnRpYWwgc2NvcGUgLT4gbW9kZWwgYXJuTmFtZXNwYWNlKSAtPiBtb2RlbCBzZXJ2aWNlIGlkXG4gICAgICAgICAgaW5wdXQuc2lnbmluZ05hbWUgPSBpbnB1dC5zaWduaW5nTmFtZSB8fCBzaWduaW5nU2VydmljZSB8fCBpbnB1dC5zZXJ2aWNlSWQ7XG5cbiAgICAgICAgICBjb25zdCBwYXJhbXM6IFNpZ25hdHVyZVY0SW5pdCAmIFNpZ25hdHVyZVY0Q3J5cHRvSW5pdCA9IHtcbiAgICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICAgICAgICAgIHJlZ2lvbjogaW5wdXQuc2lnbmluZ1JlZ2lvbixcbiAgICAgICAgICAgIHNlcnZpY2U6IGlucHV0LnNpZ25pbmdOYW1lLFxuICAgICAgICAgICAgc2hhMjU2LFxuICAgICAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCBzaWduZXJDb25zdHJ1Y3RvciA9IGlucHV0LnNpZ25lckNvbnN0cnVjdG9yIHx8IFNpZ25hdHVyZVY0O1xuICAgICAgICAgIHJldHVybiBuZXcgc2lnbmVyQ29uc3RydWN0b3IocGFyYW1zKTtcbiAgICAgICAgfSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIHN5c3RlbUNsb2NrT2Zmc2V0LFxuICAgIHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgc2lnbmVyLFxuICB9O1xufTtcblxuLy8gVE9ETzogcmVkdWNlIGNvZGUgZHVwbGljYXRpb25cbmV4cG9ydCBjb25zdCByZXNvbHZlU2lnVjRBdXRoQ29uZmlnID0gPFQ+KFxuICBpbnB1dDogVCAmIFNpZ1Y0QXV0aElucHV0Q29uZmlnICYgU2lnVjRQcmV2aW91c2x5UmVzb2x2ZWRcbik6IFQgJiBTaWdWNEF1dGhSZXNvbHZlZENvbmZpZyA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRDcmVkcyA9IGlucHV0LmNyZWRlbnRpYWxzXG4gICAgPyBub3JtYWxpemVDcmVkZW50aWFsUHJvdmlkZXIoaW5wdXQuY3JlZGVudGlhbHMpXG4gICAgOiBpbnB1dC5jcmVkZW50aWFsRGVmYXVsdFByb3ZpZGVyKGlucHV0IGFzIGFueSk7XG4gIGNvbnN0IHsgc2lnbmluZ0VzY2FwZVBhdGggPSB0cnVlLCBzeXN0ZW1DbG9ja09mZnNldCA9IGlucHV0LnN5c3RlbUNsb2NrT2Zmc2V0IHx8IDAsIHNoYTI1NiB9ID0gaW5wdXQ7XG4gIGxldCBzaWduZXI6IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuICBpZiAoaW5wdXQuc2lnbmVyKSB7XG4gICAgLy9pZiBzaWduZXIgaXMgc3VwcGxpZWQgYnkgdXNlciwgbm9ybWFsaXplIGl0IHRvIGEgZnVuY3Rpb24gcmV0dXJuaW5nIGEgcHJvbWlzZSBmb3Igc2lnbmVyLlxuICAgIHNpZ25lciA9IG5vcm1hbGl6ZVByb3ZpZGVyKGlucHV0LnNpZ25lcik7XG4gIH0gZWxzZSB7XG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoXG4gICAgICBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICBjcmVkZW50aWFsczogbm9ybWFsaXplZENyZWRzLFxuICAgICAgICByZWdpb246IGlucHV0LnJlZ2lvbixcbiAgICAgICAgc2VydmljZTogaW5wdXQuc2lnbmluZ05hbWUsXG4gICAgICAgIHNoYTI1NixcbiAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIHN5c3RlbUNsb2NrT2Zmc2V0LFxuICAgIHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgc2lnbmVyLFxuICB9O1xufTtcblxuY29uc3Qgbm9ybWFsaXplUHJvdmlkZXIgPSA8VD4oaW5wdXQ6IFQgfCBQcm92aWRlcjxUPik6IFByb3ZpZGVyPFQ+ID0+IHtcbiAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHByb21pc2lmaWVkID0gUHJvbWlzZS5yZXNvbHZlKGlucHV0KTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH1cbiAgcmV0dXJuIGlucHV0IGFzIFByb3ZpZGVyPFQ+O1xufTtcblxuY29uc3Qgbm9ybWFsaXplQ3JlZGVudGlhbFByb3ZpZGVyID0gKGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyB8IFByb3ZpZGVyPENyZWRlbnRpYWxzPik6IFByb3ZpZGVyPENyZWRlbnRpYWxzPiA9PiB7XG4gIGlmICh0eXBlb2YgY3JlZGVudGlhbHMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiBtZW1vaXplKFxuICAgICAgY3JlZGVudGlhbHMsXG4gICAgICAoY3JlZGVudGlhbHMpID0+XG4gICAgICAgIGNyZWRlbnRpYWxzLmV4cGlyYXRpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBjcmVkZW50aWFscy5leHBpcmF0aW9uLmdldFRpbWUoKSAtIERhdGUubm93KCkgPCBDUkVERU5USUFMX0VYUElSRV9XSU5ET1csXG4gICAgICAoY3JlZGVudGlhbHMpID0+IGNyZWRlbnRpYWxzLmV4cGlyYXRpb24gIT09IHVuZGVmaW5lZFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZVByb3ZpZGVyKGNyZWRlbnRpYWxzKTtcbn07XG4iXX0=
|
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=
|
package/dist/es/middleware.js
DELETED
|
@@ -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
|