@aws-sdk/middleware-signing 3.32.0 → 3.36.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 +41 -0
- package/dist-cjs/configurations.js +84 -0
- package/dist-cjs/index.js +5 -0
- package/dist-cjs/middleware.js +45 -0
- package/dist-cjs/utils/getSkewCorrectedDate.js +5 -0
- package/dist-cjs/utils/getUpdatedSystemClockOffset.js +12 -0
- package/dist-cjs/utils/isClockSkewed.js +6 -0
- package/dist-es/configurations.js +71 -0
- package/{dist/types/index.d.ts → dist-es/index.js} +0 -0
- package/dist-es/middleware.js +59 -0
- package/dist-es/utils/getSkewCorrectedDate.js +1 -0
- package/dist-es/utils/getUpdatedSystemClockOffset.js +8 -0
- package/dist-es/utils/isClockSkewed.js +4 -0
- package/{dist/types → dist-types}/configurations.d.ts +7 -0
- package/{src/index.ts → 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 +7 -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 +16 -12
- package/dist/cjs/configurations.js +0 -91
- package/dist/cjs/index.js +0 -6
- package/dist/cjs/middleware.js +0 -46
- package/dist/cjs/utils/getSkewCorrectedDate.js +0 -11
- package/dist/cjs/utils/getUpdatedSystemClockOffset.js +0 -20
- package/dist/cjs/utils/isClockSkewed.js +0 -13
- package/dist/es/configurations.js +0 -85
- 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/src/configurations.ts +0 -195
- package/src/middleware.ts +0 -61
- package/src/utils/getSkewCorrectedDate.ts +0 -6
- package/src/utils/getUpdatedSystemClockOffset.ts +0 -16
- package/src/utils/isClockSkewed.ts +0 -10
- package/tsconfig.cjs.json +0 -10
- package/tsconfig.es.json +0 -11
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,47 @@
|
|
|
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.36.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.35.0...v3.36.0) (2021-10-08)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* publish files in dist-* only ([#2873](https://github.com/aws/aws-sdk-js-v3/issues/2873)) ([53b4243](https://github.com/aws/aws-sdk-js-v3/commit/53b4243b066f25ff2412d5f0dea1036054b2df32))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [3.35.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.34.0...v3.35.0) (2021-10-04)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @aws-sdk/middleware-signing
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **non-clients:** remove comments from transpiled JS files ([#2813](https://github.com/aws/aws-sdk-js-v3/issues/2813)) ([e6fc7f3](https://github.com/aws/aws-sdk-js-v3/commit/e6fc7f3e0fa74785590ac19e7ed143c916bb9b6e))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# [3.33.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.32.0...v3.33.0) (2021-09-21)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### Features
|
|
40
|
+
|
|
41
|
+
* **client-s3:** support generating endpoints from multi-region access point ([#2796](https://github.com/aws/aws-sdk-js-v3/issues/2796)) ([c1bed9d](https://github.com/aws/aws-sdk-js-v3/commit/c1bed9d5c54ea3afbfe1883877b452b0b54a69fa)), closes [#2759](https://github.com/aws/aws-sdk-js-v3/issues/2759)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
6
47
|
# [3.32.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.31.0...v3.32.0) (2021-09-17)
|
|
7
48
|
|
|
8
49
|
**Note:** Version bump only for package @aws-sdk/middleware-signing
|
|
@@ -0,0 +1,84 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
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;
|
|
@@ -0,0 +1,12 @@
|
|
|
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;
|
|
@@ -0,0 +1,6 @@
|
|
|
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;
|
|
@@ -0,0 +1,71 @@
|
|
|
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
|
+
};
|
|
File without changes
|
|
@@ -0,0 +1,59 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var getSkewCorrectedDate = function (systemClockOffset) { return new Date(Date.now() + systemClockOffset); };
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SignatureV4CryptoInit, SignatureV4Init } from "@aws-sdk/signature-v4";
|
|
1
2
|
import { Credentials, HashConstructor, Provider, RegionInfoProvider, RequestSigner } from "@aws-sdk/types";
|
|
2
3
|
export interface AwsAuthInputConfig {
|
|
3
4
|
/**
|
|
@@ -21,6 +22,12 @@ export interface AwsAuthInputConfig {
|
|
|
21
22
|
* can be different to the region in the endpoint.
|
|
22
23
|
*/
|
|
23
24
|
signingRegion?: string;
|
|
25
|
+
/**
|
|
26
|
+
* The injectable SigV4-compatible signer class constructor. If not supplied,
|
|
27
|
+
* regular SignatureV4 constructor will be used.
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
signerConstructor?: new (options: SignatureV4Init & SignatureV4CryptoInit) => RequestSigner;
|
|
24
31
|
}
|
|
25
32
|
export interface SigV4AuthInputConfig {
|
|
26
33
|
/**
|
|
File without changes
|
|
File without changes
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SignatureV4CryptoInit, SignatureV4Init } from "@aws-sdk/signature-v4";
|
|
1
2
|
import { Credentials, HashConstructor, Provider, RegionInfoProvider, RequestSigner } from "@aws-sdk/types";
|
|
2
3
|
export interface AwsAuthInputConfig {
|
|
3
4
|
/**
|
|
@@ -21,6 +22,12 @@ export interface AwsAuthInputConfig {
|
|
|
21
22
|
* can be different to the region in the endpoint.
|
|
22
23
|
*/
|
|
23
24
|
signingRegion?: string;
|
|
25
|
+
/**
|
|
26
|
+
* The injectable SigV4-compatible signer class constructor. If not supplied,
|
|
27
|
+
* regular SignatureV4 constructor will be used.
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
signerConstructor?: new (options: SignatureV4Init & SignatureV4CryptoInit) => RequestSigner;
|
|
24
31
|
}
|
|
25
32
|
export interface SigV4AuthInputConfig {
|
|
26
33
|
/**
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-signing",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.36.0",
|
|
4
4
|
"scripts": {
|
|
5
|
+
"build": "yarn build:cjs && yarn build:es && yarn build:types",
|
|
5
6
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
6
7
|
"build:es": "tsc -p tsconfig.es.json",
|
|
7
|
-
"build": "
|
|
8
|
-
"downlevel-dts": "downlevel-dts dist
|
|
8
|
+
"build:types": "tsc -p tsconfig.types.json",
|
|
9
|
+
"downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4",
|
|
9
10
|
"test": "jest"
|
|
10
11
|
},
|
|
11
|
-
"main": "./dist
|
|
12
|
-
"module": "./dist
|
|
13
|
-
"types": "./dist
|
|
12
|
+
"main": "./dist-cjs/index.js",
|
|
13
|
+
"module": "./dist-es/index.js",
|
|
14
|
+
"types": "./dist-types/index.d.ts",
|
|
14
15
|
"author": {
|
|
15
16
|
"name": "AWS SDK for JavaScript Team",
|
|
16
17
|
"url": "https://aws.amazon.com/javascript/"
|
|
@@ -22,10 +23,10 @@
|
|
|
22
23
|
"typescript": "~4.3.5"
|
|
23
24
|
},
|
|
24
25
|
"dependencies": {
|
|
25
|
-
"@aws-sdk/property-provider": "3.
|
|
26
|
-
"@aws-sdk/protocol-http": "3.
|
|
27
|
-
"@aws-sdk/signature-v4": "3.
|
|
28
|
-
"@aws-sdk/types": "3.
|
|
26
|
+
"@aws-sdk/property-provider": "3.36.0",
|
|
27
|
+
"@aws-sdk/protocol-http": "3.36.0",
|
|
28
|
+
"@aws-sdk/signature-v4": "3.36.0",
|
|
29
|
+
"@aws-sdk/types": "3.36.0",
|
|
29
30
|
"tslib": "^2.3.0"
|
|
30
31
|
},
|
|
31
32
|
"engines": {
|
|
@@ -33,11 +34,14 @@
|
|
|
33
34
|
},
|
|
34
35
|
"typesVersions": {
|
|
35
36
|
"<4.0": {
|
|
36
|
-
"dist
|
|
37
|
-
"dist
|
|
37
|
+
"dist-types/*": [
|
|
38
|
+
"dist-types/ts3.4/*"
|
|
38
39
|
]
|
|
39
40
|
}
|
|
40
41
|
},
|
|
42
|
+
"files": [
|
|
43
|
+
"dist-*"
|
|
44
|
+
],
|
|
41
45
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/middleware-signing",
|
|
42
46
|
"repository": {
|
|
43
47
|
"type": "git",
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveSigV4AuthConfig = exports.resolveAwsAuthConfig = void 0;
|
|
4
|
-
const property_provider_1 = require("@aws-sdk/property-provider");
|
|
5
|
-
const signature_v4_1 = require("@aws-sdk/signature-v4");
|
|
6
|
-
// 5 minutes buffer time the refresh the credential before it really expires
|
|
7
|
-
const CREDENTIAL_EXPIRE_WINDOW = 300000;
|
|
8
|
-
const resolveAwsAuthConfig = (input) => {
|
|
9
|
-
const normalizedCreds = input.credentials
|
|
10
|
-
? normalizeCredentialProvider(input.credentials)
|
|
11
|
-
: input.credentialDefaultProvider(input);
|
|
12
|
-
const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
|
|
13
|
-
let signer;
|
|
14
|
-
if (input.signer) {
|
|
15
|
-
//if signer is supplied by user, normalize it to a function returning a promise for signer.
|
|
16
|
-
signer = normalizeProvider(input.signer);
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
//construct a provider inferring signing from region.
|
|
20
|
-
signer = () => normalizeProvider(input.region)()
|
|
21
|
-
.then(async (region) => [(await input.regionInfoProvider(region)) || {}, region])
|
|
22
|
-
.then(([regionInfo, region]) => {
|
|
23
|
-
const { signingRegion, signingService } = regionInfo;
|
|
24
|
-
//update client's singing region and signing service config if they are resolved.
|
|
25
|
-
//signing region resolving order: user supplied signingRegion -> endpoints.json inferred region -> client region
|
|
26
|
-
input.signingRegion = input.signingRegion || signingRegion || region;
|
|
27
|
-
//signing name resolving order:
|
|
28
|
-
//user supplied signingName -> endpoints.json inferred (credential scope -> model arnNamespace) -> model service id
|
|
29
|
-
input.signingName = input.signingName || signingService || input.serviceId;
|
|
30
|
-
return new signature_v4_1.SignatureV4({
|
|
31
|
-
credentials: normalizedCreds,
|
|
32
|
-
region: input.signingRegion,
|
|
33
|
-
service: input.signingName,
|
|
34
|
-
sha256,
|
|
35
|
-
uriEscapePath: signingEscapePath,
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
return {
|
|
40
|
-
...input,
|
|
41
|
-
systemClockOffset,
|
|
42
|
-
signingEscapePath,
|
|
43
|
-
credentials: normalizedCreds,
|
|
44
|
-
signer,
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
exports.resolveAwsAuthConfig = resolveAwsAuthConfig;
|
|
48
|
-
// TODO: reduce code duplication
|
|
49
|
-
const resolveSigV4AuthConfig = (input) => {
|
|
50
|
-
const normalizedCreds = input.credentials
|
|
51
|
-
? normalizeCredentialProvider(input.credentials)
|
|
52
|
-
: input.credentialDefaultProvider(input);
|
|
53
|
-
const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
|
|
54
|
-
let signer;
|
|
55
|
-
if (input.signer) {
|
|
56
|
-
//if signer is supplied by user, normalize it to a function returning a promise for signer.
|
|
57
|
-
signer = normalizeProvider(input.signer);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
signer = normalizeProvider(new signature_v4_1.SignatureV4({
|
|
61
|
-
credentials: normalizedCreds,
|
|
62
|
-
region: input.region,
|
|
63
|
-
service: input.signingName,
|
|
64
|
-
sha256,
|
|
65
|
-
uriEscapePath: signingEscapePath,
|
|
66
|
-
}));
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
...input,
|
|
70
|
-
systemClockOffset,
|
|
71
|
-
signingEscapePath,
|
|
72
|
-
credentials: normalizedCreds,
|
|
73
|
-
signer,
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
exports.resolveSigV4AuthConfig = resolveSigV4AuthConfig;
|
|
77
|
-
const normalizeProvider = (input) => {
|
|
78
|
-
if (typeof input === "object") {
|
|
79
|
-
const promisified = Promise.resolve(input);
|
|
80
|
-
return () => promisified;
|
|
81
|
-
}
|
|
82
|
-
return input;
|
|
83
|
-
};
|
|
84
|
-
const normalizeCredentialProvider = (credentials) => {
|
|
85
|
-
if (typeof credentials === "function") {
|
|
86
|
-
return property_provider_1.memoize(credentials, (credentials) => credentials.expiration !== undefined &&
|
|
87
|
-
credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials) => credentials.expiration !== undefined);
|
|
88
|
-
}
|
|
89
|
-
return normalizeProvider(credentials);
|
|
90
|
-
};
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0VBQXFEO0FBQ3JELHdEQUFvRDtBQUdwRCw0RUFBNEU7QUFDNUUsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUM7QUE2RmpDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbEMsS0FBa0QsRUFDdkIsRUFBRTtJQUM3QixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsV0FBVztRQUN2QyxDQUFDLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNoRCxDQUFDLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLEtBQVksQ0FBQyxDQUFDO0lBQ2xELE1BQU0sRUFBRSxpQkFBaUIsR0FBRyxJQUFJLEVBQUUsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDckcsSUFBSSxNQUErQixDQUFDO0lBQ3BDLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUNoQiwyRkFBMkY7UUFDM0YsTUFBTSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUMxQztTQUFNO1FBQ0wscURBQXFEO1FBQ3JELE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FDWixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7YUFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQXlCLENBQUM7YUFDeEcsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUM3QixNQUFNLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxHQUFHLFVBQVUsQ0FBQztZQUNyRCxpRkFBaUY7WUFDakYsZ0hBQWdIO1lBQ2hILEtBQUssQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSxhQUFhLElBQUksTUFBTSxDQUFDO1lBQ3JFLCtCQUErQjtZQUMvQixtSEFBbUg7WUFDbkgsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLGNBQWMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDO1lBRTNFLE9BQU8sSUFBSSwwQkFBVyxDQUFDO2dCQUNyQixXQUFXLEVBQUUsZUFBZTtnQkFDNUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUFhO2dCQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzFCLE1BQU07Z0JBQ04sYUFBYSxFQUFFLGlCQUFpQjthQUNqQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQUNSO0lBRUQsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsV0FBVyxFQUFFLGVBQWU7UUFDNUIsTUFBTTtLQUNQLENBQUM7QUFDSixDQUFDLENBQUM7QUExQ1csUUFBQSxvQkFBb0Isd0JBMEMvQjtBQUVGLGdDQUFnQztBQUN6QixNQUFNLHNCQUFzQixHQUFHLENBQ3BDLEtBQXlELEVBQzVCLEVBQUU7SUFDL0IsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFdBQVc7UUFDdkMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDaEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxLQUFZLENBQUMsQ0FBQztJQUNsRCxNQUFNLEVBQUUsaUJBQWlCLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3JHLElBQUksTUFBK0IsQ0FBQztJQUNwQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDaEIsMkZBQTJGO1FBQzNGLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUM7U0FBTTtRQUNMLE1BQU0sR0FBRyxpQkFBaUIsQ0FDeEIsSUFBSSwwQkFBVyxDQUFDO1lBQ2QsV0FBVyxFQUFFLGVBQWU7WUFDNUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLE9BQU8sRUFBRSxLQUFLLENBQUMsV0FBVztZQUMxQixNQUFNO1lBQ04sYUFBYSxFQUFFLGlCQUFpQjtTQUNqQyxDQUFDLENBQ0gsQ0FBQztLQUNIO0lBRUQsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsV0FBVyxFQUFFLGVBQWU7UUFDNUIsTUFBTTtLQUNQLENBQUM7QUFDSixDQUFDLENBQUM7QUE5QlcsUUFBQSxzQkFBc0IsMEJBOEJqQztBQUVGLE1BQU0saUJBQWlCLEdBQUcsQ0FBSSxLQUFzQixFQUFlLEVBQUU7SUFDbkUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxPQUFPLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztLQUMxQjtJQUNELE9BQU8sS0FBb0IsQ0FBQztBQUM5QixDQUFDLENBQUM7QUFFRixNQUFNLDJCQUEyQixHQUFHLENBQUMsV0FBZ0QsRUFBeUIsRUFBRTtJQUM5RyxJQUFJLE9BQU8sV0FBVyxLQUFLLFVBQVUsRUFBRTtRQUNyQyxPQUFPLDJCQUFPLENBQ1osV0FBVyxFQUNYLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDZCxXQUFXLENBQUMsVUFBVSxLQUFLLFNBQVM7WUFDcEMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsd0JBQXdCLEVBQzFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FDdEQsQ0FBQztLQUNIO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZW1vaXplIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBTaWduYXR1cmVWNCB9IGZyb20gXCJAYXdzLXNkay9zaWduYXR1cmUtdjRcIjtcbmltcG9ydCB7IENyZWRlbnRpYWxzLCBIYXNoQ29uc3RydWN0b3IsIFByb3ZpZGVyLCBSZWdpb25JbmZvLCBSZWdpb25JbmZvUHJvdmlkZXIsIFJlcXVlc3RTaWduZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuLy8gNSBtaW51dGVzIGJ1ZmZlciB0aW1lIHRoZSByZWZyZXNoIHRoZSBjcmVkZW50aWFsIGJlZm9yZSBpdCByZWFsbHkgZXhwaXJlc1xuY29uc3QgQ1JFREVOVElBTF9FWFBJUkVfV0lORE9XID0gMzAwMDAwO1xuXG4vLyBBd3NBdXRoIHYvcyBTaWdWNEF1dGhcbi8vIEF3c0F1dGg6IHNwZWNpZmljIHRvIFNpZ1Y0IGF1dGggZm9yIEFXUyBzZXJ2aWNlc1xuLy8gU2lnVjRBdXRoOiBTaWdWNCBhdXRoIGZvciBub24tQVdTIHNlcnZpY2VzXG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQXV0aElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyB1c2VkIHRvIHNpZ24gcmVxdWVzdHMuXG4gICAqL1xuICBjcmVkZW50aWFscz86IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmVyIHRvIHVzZSB3aGVuIHNpZ25pbmcgcmVxdWVzdHMuXG4gICAqL1xuICBzaWduZXI/OiBSZXF1ZXN0U2lnbmVyIHwgUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXNjYXBlIHJlcXVlc3QgcGF0aCB3aGVuIHNpZ25pbmcgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBzaWduaW5nRXNjYXBlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFuIG9mZnNldCB2YWx1ZSBpbiBtaWxsaXNlY29uZHMgdG8gYXBwbHkgdG8gYWxsIHNpZ25pbmcgdGltZXMuXG4gICAqL1xuICBzeXN0ZW1DbG9ja09mZnNldD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHJlZ2lvbiB3aGVyZSB5b3Ugd2FudCB0byBzaWduIHlvdXIgcmVxdWVzdCBhZ2FpbnN0LiBUaGlzXG4gICAqIGNhbiBiZSBkaWZmZXJlbnQgdG8gdGhlIHJlZ2lvbiBpbiB0aGUgZW5kcG9pbnQuXG4gICAqL1xuICBzaWduaW5nUmVnaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ1Y0QXV0aElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyB1c2VkIHRvIHNpZ24gcmVxdWVzdHMuXG4gICAqL1xuICBjcmVkZW50aWFscz86IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2lnbmVyIHRvIHVzZSB3aGVuIHNpZ25pbmcgcmVxdWVzdHMuXG4gICAqL1xuICBzaWduZXI/OiBSZXF1ZXN0U2lnbmVyIHwgUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXNjYXBlIHJlcXVlc3QgcGF0aCB3aGVuIHNpZ25pbmcgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBzaWduaW5nRXNjYXBlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFuIG9mZnNldCB2YWx1ZSBpbiBtaWxsaXNlY29uZHMgdG8gYXBwbHkgdG8gYWxsIHNpZ25pbmcgdGltZXMuXG4gICAqL1xuICBzeXN0ZW1DbG9ja09mZnNldD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG4gIHNpZ25pbmdOYW1lPzogc3RyaW5nO1xuICBzZXJ2aWNlSWQ6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmludGVyZmFjZSBTaWdWNFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXI6IChpbnB1dDogYW55KSA9PiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIHJlZ2lvbjogc3RyaW5nIHwgUHJvdmlkZXI8c3RyaW5nPjtcbiAgc2lnbmluZ05hbWU6IHN0cmluZztcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQXV0aFJlc29sdmVkQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5jcmVkZW50aWFsc31cbiAgICovXG4gIGNyZWRlbnRpYWxzOiBQcm92aWRlcjxDcmVkZW50aWFscz47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBBd3NBdXRoSW5wdXRDb25maWcuc2lnbmVyfVxuICAgKi9cbiAgc2lnbmVyOiBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEF3c0F1dGhJbnB1dENvbmZpZy5zaWduaW5nRXNjYXBlUGF0aH1cbiAgICovXG4gIHNpZ25pbmdFc2NhcGVQYXRoOiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQXdzQXV0aElucHV0Q29uZmlnLnN5c3RlbUNsb2NrT2Zmc2V0fVxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWdWNEF1dGhSZXNvbHZlZENvbmZpZyBleHRlbmRzIEF3c0F1dGhSZXNvbHZlZENvbmZpZyB7fVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUF3c0F1dGhDb25maWcgPSA8VD4oXG4gIGlucHV0OiBUICYgQXdzQXV0aElucHV0Q29uZmlnICYgUHJldmlvdXNseVJlc29sdmVkXG4pOiBUICYgQXdzQXV0aFJlc29sdmVkQ29uZmlnID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZENyZWRzID0gaW5wdXQuY3JlZGVudGlhbHNcbiAgICA/IG5vcm1hbGl6ZUNyZWRlbnRpYWxQcm92aWRlcihpbnB1dC5jcmVkZW50aWFscylcbiAgICA6IGlucHV0LmNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXIoaW5wdXQgYXMgYW55KTtcbiAgY29uc3QgeyBzaWduaW5nRXNjYXBlUGF0aCA9IHRydWUsIHN5c3RlbUNsb2NrT2Zmc2V0ID0gaW5wdXQuc3lzdGVtQ2xvY2tPZmZzZXQgfHwgMCwgc2hhMjU2IH0gPSBpbnB1dDtcbiAgbGV0IHNpZ25lcjogUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG4gIGlmIChpbnB1dC5zaWduZXIpIHtcbiAgICAvL2lmIHNpZ25lciBpcyBzdXBwbGllZCBieSB1c2VyLCBub3JtYWxpemUgaXQgdG8gYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBwcm9taXNlIGZvciBzaWduZXIuXG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoaW5wdXQuc2lnbmVyKTtcbiAgfSBlbHNlIHtcbiAgICAvL2NvbnN0cnVjdCBhIHByb3ZpZGVyIGluZmVycmluZyBzaWduaW5nIGZyb20gcmVnaW9uLlxuICAgIHNpZ25lciA9ICgpID0+XG4gICAgICBub3JtYWxpemVQcm92aWRlcihpbnB1dC5yZWdpb24pKClcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlZ2lvbikgPT4gWyhhd2FpdCBpbnB1dC5yZWdpb25JbmZvUHJvdmlkZXIocmVnaW9uKSkgfHwge30sIHJlZ2lvbl0gYXMgW1JlZ2lvbkluZm8sIHN0cmluZ10pXG4gICAgICAgIC50aGVuKChbcmVnaW9uSW5mbywgcmVnaW9uXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgc2lnbmluZ1JlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgfSA9IHJlZ2lvbkluZm87XG4gICAgICAgICAgLy91cGRhdGUgY2xpZW50J3Mgc2luZ2luZyByZWdpb24gYW5kIHNpZ25pbmcgc2VydmljZSBjb25maWcgaWYgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICAgICAgLy9zaWduaW5nIHJlZ2lvbiByZXNvbHZpbmcgb3JkZXI6IHVzZXIgc3VwcGxpZWQgc2lnbmluZ1JlZ2lvbiAtPiBlbmRwb2ludHMuanNvbiBpbmZlcnJlZCByZWdpb24gLT4gY2xpZW50IHJlZ2lvblxuICAgICAgICAgIGlucHV0LnNpZ25pbmdSZWdpb24gPSBpbnB1dC5zaWduaW5nUmVnaW9uIHx8IHNpZ25pbmdSZWdpb24gfHwgcmVnaW9uO1xuICAgICAgICAgIC8vc2lnbmluZyBuYW1lIHJlc29sdmluZyBvcmRlcjpcbiAgICAgICAgICAvL3VzZXIgc3VwcGxpZWQgc2lnbmluZ05hbWUgLT4gZW5kcG9pbnRzLmpzb24gaW5mZXJyZWQgKGNyZWRlbnRpYWwgc2NvcGUgLT4gbW9kZWwgYXJuTmFtZXNwYWNlKSAtPiBtb2RlbCBzZXJ2aWNlIGlkXG4gICAgICAgICAgaW5wdXQuc2lnbmluZ05hbWUgPSBpbnB1dC5zaWduaW5nTmFtZSB8fCBzaWduaW5nU2VydmljZSB8fCBpbnB1dC5zZXJ2aWNlSWQ7XG5cbiAgICAgICAgICByZXR1cm4gbmV3IFNpZ25hdHVyZVY0KHtcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgICAgICAgICByZWdpb246IGlucHV0LnNpZ25pbmdSZWdpb24sXG4gICAgICAgICAgICBzZXJ2aWNlOiBpbnB1dC5zaWduaW5nTmFtZSxcbiAgICAgICAgICAgIHNoYTI1NixcbiAgICAgICAgICAgIHVyaUVzY2FwZVBhdGg6IHNpZ25pbmdFc2NhcGVQYXRoLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXQsXG4gICAgc3lzdGVtQ2xvY2tPZmZzZXQsXG4gICAgc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICBzaWduZXIsXG4gIH07XG59O1xuXG4vLyBUT0RPOiByZWR1Y2UgY29kZSBkdXBsaWNhdGlvblxuZXhwb3J0IGNvbnN0IHJlc29sdmVTaWdWNEF1dGhDb25maWcgPSA8VD4oXG4gIGlucHV0OiBUICYgU2lnVjRBdXRoSW5wdXRDb25maWcgJiBTaWdWNFByZXZpb3VzbHlSZXNvbHZlZFxuKTogVCAmIFNpZ1Y0QXV0aFJlc29sdmVkQ29uZmlnID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZENyZWRzID0gaW5wdXQuY3JlZGVudGlhbHNcbiAgICA/IG5vcm1hbGl6ZUNyZWRlbnRpYWxQcm92aWRlcihpbnB1dC5jcmVkZW50aWFscylcbiAgICA6IGlucHV0LmNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXIoaW5wdXQgYXMgYW55KTtcbiAgY29uc3QgeyBzaWduaW5nRXNjYXBlUGF0aCA9IHRydWUsIHN5c3RlbUNsb2NrT2Zmc2V0ID0gaW5wdXQuc3lzdGVtQ2xvY2tPZmZzZXQgfHwgMCwgc2hhMjU2IH0gPSBpbnB1dDtcbiAgbGV0IHNpZ25lcjogUHJvdmlkZXI8UmVxdWVzdFNpZ25lcj47XG4gIGlmIChpbnB1dC5zaWduZXIpIHtcbiAgICAvL2lmIHNpZ25lciBpcyBzdXBwbGllZCBieSB1c2VyLCBub3JtYWxpemUgaXQgdG8gYSBmdW5jdGlvbiByZXR1cm5pbmcgYSBwcm9taXNlIGZvciBzaWduZXIuXG4gICAgc2lnbmVyID0gbm9ybWFsaXplUHJvdmlkZXIoaW5wdXQuc2lnbmVyKTtcbiAgfSBlbHNlIHtcbiAgICBzaWduZXIgPSBub3JtYWxpemVQcm92aWRlcihcbiAgICAgIG5ldyBTaWduYXR1cmVWNCh7XG4gICAgICAgIGNyZWRlbnRpYWxzOiBub3JtYWxpemVkQ3JlZHMsXG4gICAgICAgIHJlZ2lvbjogaW5wdXQucmVnaW9uLFxuICAgICAgICBzZXJ2aWNlOiBpbnB1dC5zaWduaW5nTmFtZSxcbiAgICAgICAgc2hhMjU2LFxuICAgICAgICB1cmlFc2NhcGVQYXRoOiBzaWduaW5nRXNjYXBlUGF0aCxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXQsXG4gICAgc3lzdGVtQ2xvY2tPZmZzZXQsXG4gICAgc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICBzaWduZXIsXG4gIH07XG59O1xuXG5jb25zdCBub3JtYWxpemVQcm92aWRlciA9IDxUPihpbnB1dDogVCB8IFByb3ZpZGVyPFQ+KTogUHJvdmlkZXI8VD4gPT4ge1xuICBpZiAodHlwZW9mIGlucHV0ID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUoaW5wdXQpO1xuICAgIHJldHVybiAoKSA9PiBwcm9taXNpZmllZDtcbiAgfVxuICByZXR1cm4gaW5wdXQgYXMgUHJvdmlkZXI8VD47XG59O1xuXG5jb25zdCBub3JtYWxpemVDcmVkZW50aWFsUHJvdmlkZXIgPSAoY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+KTogUHJvdmlkZXI8Q3JlZGVudGlhbHM+ID0+IHtcbiAgaWYgKHR5cGVvZiBjcmVkZW50aWFscyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcmV0dXJuIG1lbW9pemUoXG4gICAgICBjcmVkZW50aWFscyxcbiAgICAgIChjcmVkZW50aWFscykgPT5cbiAgICAgICAgY3JlZGVudGlhbHMuZXhwaXJhdGlvbiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGNyZWRlbnRpYWxzLmV4cGlyYXRpb24uZ2V0VGltZSgpIC0gRGF0ZS5ub3coKSA8IENSRURFTlRJQUxfRVhQSVJFX1dJTkRPVyxcbiAgICAgIChjcmVkZW50aWFscykgPT4gY3JlZGVudGlhbHMuZXhwaXJhdGlvbiAhPT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplUHJvdmlkZXIoY3JlZGVudGlhbHMpO1xufTtcbiJdfQ==
|
package/dist/cjs/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./configurations"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./middleware"), exports);
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQWlDO0FBQ2pDLHVEQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9taWRkbGV3YXJlXCI7XG4iXX0=
|