@aws-sdk/middleware-bucket-endpoint 3.34.0 → 3.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist-cjs/bucketEndpointMiddleware.js +81 -0
  3. package/dist-cjs/bucketHostname.js +116 -0
  4. package/dist-cjs/bucketHostnameUtils.js +157 -0
  5. package/dist-cjs/configurations.js +64 -0
  6. package/{dist/cjs → dist-cjs}/index.js +0 -1
  7. package/dist-es/bucketEndpointMiddleware.js +100 -0
  8. package/dist-es/bucketHostname.js +118 -0
  9. package/dist-es/bucketHostnameUtils.js +144 -0
  10. package/dist-es/configurations.js +53 -0
  11. package/{dist/types/index.d.ts → dist-es/index.js} +0 -0
  12. package/{dist/types → dist-types}/bucketEndpointMiddleware.d.ts +0 -0
  13. package/{dist/types → dist-types}/bucketHostname.d.ts +0 -0
  14. package/{dist/types → dist-types}/bucketHostnameUtils.d.ts +0 -0
  15. package/{dist/types → dist-types}/configurations.d.ts +0 -0
  16. package/dist-types/index.d.ts +4 -0
  17. package/{dist/types → dist-types}/ts3.4/bucketEndpointMiddleware.d.ts +0 -0
  18. package/{dist/types → dist-types}/ts3.4/bucketHostname.d.ts +0 -0
  19. package/{dist/types → dist-types}/ts3.4/bucketHostnameUtils.d.ts +13 -62
  20. package/dist-types/ts3.4/configurations.d.ts +49 -0
  21. package/{dist/types → dist-types}/ts3.4/index.d.ts +0 -0
  22. package/package.json +15 -12
  23. package/dist/cjs/bucketEndpointMiddleware.js +0 -82
  24. package/dist/cjs/bucketHostname.js +0 -117
  25. package/dist/cjs/bucketHostnameUtils.js +0 -158
  26. package/dist/cjs/configurations.js +0 -65
  27. package/dist/es/bucketEndpointMiddleware.js +0 -103
  28. package/dist/es/bucketHostname.js +0 -123
  29. package/dist/es/bucketHostnameUtils.js +0 -210
  30. package/dist/es/configurations.js +0 -59
  31. package/dist/es/index.js +0 -5
  32. package/dist/types/ts3.4/configurations.d.ts +0 -87
  33. package/src/bucketEndpointMiddleware.ts +0 -101
  34. package/src/bucketHostname.ts +0 -223
  35. package/src/bucketHostnameUtils.ts +0 -272
  36. package/src/configurations.ts +0 -154
  37. package/src/index.ts +0 -15
  38. package/tsconfig.cjs.json +0 -9
  39. package/tsconfig.es.json +0 -10
  40. package/tsconfig.types.json +0 -9
@@ -1,103 +0,0 @@
1
- import { __assign, __awaiter, __generator } from "tslib";
2
- import { HttpRequest } from "@aws-sdk/protocol-http";
3
- import { parse as parseArn, validate as validateArn } from "@aws-sdk/util-arn-parser";
4
- import { bucketHostname } from "./bucketHostname";
5
- import { getPseudoRegion } from "./bucketHostnameUtils";
6
- export var bucketEndpointMiddleware = function (options) { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {
7
- var bucketName, replaceBucketInPath, request, bucketArn, clientRegion, _a, _b, partition, _c, signingRegion, useArnRegion, _d, hostname, bucketEndpoint, modifiedSigningRegion, signingService, _e, clientRegion, _f, _g, hostname, bucketEndpoint;
8
- var _h;
9
- return __generator(this, function (_j) {
10
- switch (_j.label) {
11
- case 0:
12
- bucketName = args.input.Bucket;
13
- replaceBucketInPath = options.bucketEndpoint;
14
- request = args.request;
15
- if (!HttpRequest.isInstance(request)) return [3 /*break*/, 9];
16
- if (!options.bucketEndpoint) return [3 /*break*/, 1];
17
- request.hostname = bucketName;
18
- return [3 /*break*/, 8];
19
- case 1:
20
- if (!validateArn(bucketName)) return [3 /*break*/, 6];
21
- bucketArn = parseArn(bucketName);
22
- _a = getPseudoRegion;
23
- return [4 /*yield*/, options.region()];
24
- case 2:
25
- clientRegion = _a.apply(void 0, [_j.sent()]);
26
- return [4 /*yield*/, options.regionInfoProvider(clientRegion)];
27
- case 3:
28
- _b = (_j.sent()) || {}, partition = _b.partition, _c = _b.signingRegion, signingRegion = _c === void 0 ? clientRegion : _c;
29
- return [4 /*yield*/, options.useArnRegion()];
30
- case 4:
31
- useArnRegion = _j.sent();
32
- _e = bucketHostname;
33
- _h = {
34
- bucketName: bucketArn,
35
- baseHostname: request.hostname,
36
- accelerateEndpoint: options.useAccelerateEndpoint,
37
- dualstackEndpoint: options.useDualstackEndpoint,
38
- pathStyleEndpoint: options.forcePathStyle,
39
- tlsCompatible: request.protocol === "https:",
40
- useArnRegion: useArnRegion,
41
- clientPartition: partition,
42
- clientSigningRegion: signingRegion,
43
- clientRegion: clientRegion,
44
- isCustomEndpoint: options.isCustomEndpoint
45
- };
46
- return [4 /*yield*/, options.disableMultiregionAccessPoints()];
47
- case 5:
48
- _d = _e.apply(void 0, [(_h.disableMultiregionAccessPoints = _j.sent(),
49
- _h)]), hostname = _d.hostname, bucketEndpoint = _d.bucketEndpoint, modifiedSigningRegion = _d.signingRegion, signingService = _d.signingService;
50
- // If the request needs to use a region or service name inferred from ARN that different from client region, we
51
- // need to set them in the handler context so the signer will use them
52
- if (modifiedSigningRegion && modifiedSigningRegion !== signingRegion) {
53
- context["signing_region"] = modifiedSigningRegion;
54
- }
55
- if (signingService && signingService !== "s3") {
56
- context["signing_service"] = signingService;
57
- }
58
- request.hostname = hostname;
59
- replaceBucketInPath = bucketEndpoint;
60
- return [3 /*break*/, 8];
61
- case 6:
62
- _f = getPseudoRegion;
63
- return [4 /*yield*/, options.region()];
64
- case 7:
65
- clientRegion = _f.apply(void 0, [_j.sent()]);
66
- _g = bucketHostname({
67
- bucketName: bucketName,
68
- clientRegion: clientRegion,
69
- baseHostname: request.hostname,
70
- accelerateEndpoint: options.useAccelerateEndpoint,
71
- dualstackEndpoint: options.useDualstackEndpoint,
72
- pathStyleEndpoint: options.forcePathStyle,
73
- tlsCompatible: request.protocol === "https:",
74
- isCustomEndpoint: options.isCustomEndpoint,
75
- }), hostname = _g.hostname, bucketEndpoint = _g.bucketEndpoint;
76
- request.hostname = hostname;
77
- replaceBucketInPath = bucketEndpoint;
78
- _j.label = 8;
79
- case 8:
80
- if (replaceBucketInPath) {
81
- request.path = request.path.replace(/^(\/)?[^\/]+/, "");
82
- if (request.path === "") {
83
- request.path = "/";
84
- }
85
- }
86
- _j.label = 9;
87
- case 9: return [2 /*return*/, next(__assign(__assign({}, args), { request: request }))];
88
- }
89
- });
90
- }); }; }; };
91
- export var bucketEndpointMiddlewareOptions = {
92
- tags: ["BUCKET_ENDPOINT"],
93
- name: "bucketEndpointMiddleware",
94
- relation: "before",
95
- toMiddleware: "hostHeaderMiddleware",
96
- override: true,
97
- };
98
- export var getBucketEndpointPlugin = function (options) { return ({
99
- applyToStack: function (clientStack) {
100
- clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);
101
- },
102
- }); };
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1Y2tldEVuZHBvaW50TWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBV3JELE9BQU8sRUFBRSxLQUFLLElBQUksUUFBUSxFQUFFLFFBQVEsSUFBSSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3hELE1BQU0sQ0FBQyxJQUFNLHdCQUF3QixHQUFHLFVBQUMsT0FBcUMsSUFBZ0MsT0FBQSxVQUc1RyxJQUErQixFQUMvQixPQUFnQyxJQUNGLE9BQUEsVUFBTyxJQUFnQzs7Ozs7O2dCQUNyRCxVQUFVLEdBQUssSUFBSSxDQUFDLEtBQTJCLE9BQXJDLENBQXNDO2dCQUM1RCxtQkFBbUIsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO2dCQUMzQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztxQkFDekIsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBL0Isd0JBQStCO3FCQUM3QixPQUFPLENBQUMsY0FBYyxFQUF0Qix3QkFBc0I7Z0JBQ3hCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDOzs7cUJBQ3JCLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBdkIsd0JBQXVCO2dCQUMxQixTQUFTLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNsQixLQUFBLGVBQWUsQ0FBQTtnQkFBQyxxQkFBTSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUE7O2dCQUFyRCxZQUFZLEdBQUcsa0JBQWdCLFNBQXNCLEVBQUM7Z0JBQ1AscUJBQU0sT0FBTyxDQUFDLGtCQUFrQixD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SUFDekIsSUFBSSxFQUFFLDBCQUEwQjtJQUNoQyxRQUFRLEVBQUUsUUFBUTtJQUNsQixZQUFZLEVBQUUsc0JBQXNCO0lBQ3BDLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLHVCQUF1QixHQUFHLFVBQUMsT0FBcUMsSUFBMEIsT0FBQSxDQUFDO0lBQ3RHLFlBQVksRUFBRSxVQUFDLFdBQVc7UUFDeEIsV0FBVyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FDRixDQUFDLEVBSnFHLENBSXJHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQge1xuICBCdWlsZEhhbmRsZXIsXG4gIEJ1aWxkSGFuZGxlckFyZ3VtZW50cyxcbiAgQnVpbGRIYW5kbGVyT3V0cHV0LFxuICBCdWlsZE1pZGRsZXdhcmUsXG4gIEhhbmRsZXJFeGVjdXRpb25Db250ZXh0LFxuICBNZXRhZGF0YUJlYXJlcixcbiAgUGx1Z2dhYmxlLFxuICBSZWxhdGl2ZU1pZGRsZXdhcmVPcHRpb25zLFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IHBhcnNlIGFzIHBhcnNlQXJuLCB2YWxpZGF0ZSBhcyB2YWxpZGF0ZUFybiB9IGZyb20gXCJAYXdzLXNkay91dGlsLWFybi1wYXJzZXJcIjtcblxuaW1wb3J0IHsgYnVja2V0SG9zdG5hbWUgfSBmcm9tIFwiLi9idWNrZXRIb3N0bmFtZVwiO1xuaW1wb3J0IHsgZ2V0UHNldWRvUmVnaW9uIH0gZnJvbSBcIi4vYnVja2V0SG9zdG5hbWVVdGlsc1wiO1xuaW1wb3J0IHsgQnVja2V0RW5kcG9pbnRSZXNvbHZlZENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5cbmV4cG9ydCBjb25zdCBidWNrZXRFbmRwb2ludE1pZGRsZXdhcmUgPSAob3B0aW9uczogQnVja2V0RW5kcG9pbnRSZXNvbHZlZENvbmZpZyk6IEJ1aWxkTWlkZGxld2FyZTxhbnksIGFueT4gPT4gPFxuICBPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlclxuPihcbiAgbmV4dDogQnVpbGRIYW5kbGVyPGFueSwgT3V0cHV0PixcbiAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbik6IEJ1aWxkSGFuZGxlcjxhbnksIE91dHB1dD4gPT4gYXN5bmMgKGFyZ3M6IEJ1aWxkSGFuZGxlckFyZ3VtZW50czxhbnk+KTogUHJvbWlzZTxCdWlsZEhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4gPT4ge1xuICBjb25zdCB7IEJ1Y2tldDogYnVja2V0TmFtZSB9ID0gYXJncy5pbnB1dCBhcyB7IEJ1Y2tldDogc3RyaW5nIH07XG4gIGxldCByZXBsYWNlQnVja2V0SW5QYXRoID0gb3B0aW9ucy5idWNrZXRFbmRwb2ludDtcbiAgY29uc3QgcmVxdWVzdCA9IGFyZ3MucmVxdWVzdDtcbiAgaWYgKEh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UocmVxdWVzdCkpIHtcbiAgICBpZiAob3B0aW9ucy5idWNrZXRFbmRwb2ludCkge1xuICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGJ1Y2tldE5hbWU7XG4gICAgfSBlbHNlIGlmICh2YWxpZGF0ZUFybihidWNrZXROYW1lKSkge1xuICAgICAgY29uc3QgYnVja2V0QXJuID0gcGFyc2VBcm4oYnVja2V0TmFtZSk7XG4gICAgICBjb25zdCBjbGllbnRSZWdpb24gPSBnZXRQc2V1ZG9SZWdpb24oYXdhaXQgb3B0aW9ucy5yZWdpb24oKSk7XG4gICAgICBjb25zdCB7IHBhcnRpdGlvbiwgc2lnbmluZ1JlZ2lvbiA9IGNsaWVudFJlZ2lvbiB9ID0gKGF3YWl0IG9wdGlvbnMucmVnaW9uSW5mb1Byb3ZpZGVyKGNsaWVudFJlZ2lvbikpIHx8IHt9O1xuICAgICAgY29uc3QgdXNlQXJuUmVnaW9uID0gYXdhaXQgb3B0aW9ucy51c2VBcm5SZWdpb24oKTtcbiAgICAgIGNvbnN0IHsgaG9zdG5hbWUsIGJ1Y2tldEVuZHBvaW50LCBzaWduaW5nUmVnaW9uOiBtb2RpZmllZFNpZ25pbmdSZWdpb24sIHNpZ25pbmdTZXJ2aWNlIH0gPSBidWNrZXRIb3N0bmFtZSh7XG4gICAgICAgIGJ1Y2tldE5hbWU6IGJ1Y2tldEFybixcbiAgICAgICAgYmFzZUhvc3RuYW1lOiByZXF1ZXN0Lmhvc3RuYW1lLFxuICAgICAgICBhY2NlbGVyYXRlRW5kcG9pbnQ6IG9wdGlvbnMudXNlQWNjZWxlcmF0ZUVuZHBvaW50LFxuICAgICAgICBkdWFsc3RhY2tFbmRwb2ludDogb3B0aW9ucy51c2VEdWFsc3RhY2tFbmRwb2ludCxcbiAgICAgICAgcGF0aFN0eWxlRW5kcG9pbnQ6IG9wdGlvbnMuZm9yY2VQYXRoU3R5bGUsXG4gICAgICAgIHRsc0NvbXBhdGlibGU6IHJlcXVlc3QucHJvdG9jb2wgPT09IFwiaHR0cHM6XCIsXG4gICAgICAgIHVzZUFyblJlZ2lvbixcbiAgICAgICAgY2xpZW50UGFydGl0aW9uOiBwYXJ0aXRpb24sXG4gICAgICAgIGNsaWVudFNpZ25pbmdSZWdpb246IHNpZ25pbmdSZWdpb24sXG4gICAgICAgIGNsaWVudFJlZ2lvbjogY2xpZW50UmVnaW9uLFxuICAgICAgICBpc0N1c3RvbUVuZHBvaW50OiBvcHRpb25zLmlzQ3VzdG9tRW5kcG9pbnQsXG4gICAgICAgIGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50czogYXdhaXQgb3B0aW9ucy5kaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHMoKSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBJZiB0aGUgcmVxdWVzdCBuZWVkcyB0byB1c2UgYSByZWdpb24gb3Igc2VydmljZSBuYW1lIGluZmVycmVkIGZyb20gQVJOIHRoYXQgZGlmZmVyZW50IGZyb20gY2xpZW50IHJlZ2lvbiwgd2VcbiAgICAgIC8vIG5lZWQgdG8gc2V0IHRoZW0gaW4gdGhlIGhhbmRsZXIgY29udGV4dCBzbyB0aGUgc2lnbmVyIHdpbGwgdXNlIHRoZW1cbiAgICAgIGlmIChtb2RpZmllZFNpZ25pbmdSZWdpb24gJiYgbW9kaWZpZWRTaWduaW5nUmVnaW9uICE9PSBzaWduaW5nUmVnaW9uKSB7XG4gICAgICAgIGNvbnRleHRbXCJzaWduaW5nX3JlZ2lvblwiXSA9IG1vZGlmaWVkU2lnbmluZ1JlZ2lvbjtcbiAgICAgIH1cbiAgICAgIGlmIChzaWduaW5nU2VydmljZSAmJiBzaWduaW5nU2VydmljZSAhPT0gXCJzM1wiKSB7XG4gICAgICAgIGNvbnRleHRbXCJzaWduaW5nX3NlcnZpY2VcIl0gPSBzaWduaW5nU2VydmljZTtcbiAgICAgIH1cblxuICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGhvc3RuYW1lO1xuICAgICAgcmVwbGFjZUJ1Y2tldEluUGF0aCA9IGJ1Y2tldEVuZHBvaW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjbGllbnRSZWdpb24gPSBnZXRQc2V1ZG9SZWdpb24oYXdhaXQgb3B0aW9ucy5yZWdpb24oKSk7XG4gICAgICBjb25zdCB7IGhvc3RuYW1lLCBidWNrZXRFbmRwb2ludCB9ID0gYnVja2V0SG9zdG5hbWUoe1xuICAgICAgICBidWNrZXROYW1lLFxuICAgICAgICBjbGllbnRSZWdpb24sXG4gICAgICAgIGJhc2VIb3N0bmFtZTogcmVxdWVzdC5ob3N0bmFtZSxcbiAgICAgICAgYWNjZWxlcmF0ZUVuZHBvaW50OiBvcHRpb25zLnVzZUFjY2VsZXJhdGVFbmRwb2ludCxcbiAgICAgICAgZHVhbHN0YWNrRW5kcG9pbnQ6IG9wdGlvbnMudXNlRHVhbHN0YWNrRW5kcG9pbnQsXG4gICAgICAgIHBhdGhTdHlsZUVuZHBvaW50OiBvcHRpb25zLmZvcmNlUGF0aFN0eWxlLFxuICAgICAgICB0bHNDb21wYXRpYmxlOiByZXF1ZXN0LnByb3RvY29sID09PSBcImh0dHBzOlwiLFxuICAgICAgICBpc0N1c3RvbUVuZHBvaW50OiBvcHRpb25zLmlzQ3VzdG9tRW5kcG9pbnQsXG4gICAgICB9KTtcblxuICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGhvc3RuYW1lO1xuICAgICAgcmVwbGFjZUJ1Y2tldEluUGF0aCA9IGJ1Y2tldEVuZHBvaW50O1xuICAgIH1cblxuICAgIGlmIChyZXBsYWNlQnVja2V0SW5QYXRoKSB7XG4gICAgICByZXF1ZXN0LnBhdGggPSByZXF1ZXN0LnBhdGgucmVwbGFjZSgvXihcXC8pP1teXFwvXSsvLCBcIlwiKTtcbiAgICAgIGlmIChyZXF1ZXN0LnBhdGggPT09IFwiXCIpIHtcbiAgICAgICAgcmVxdWVzdC5wYXRoID0gXCIvXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5leHQoeyAuLi5hcmdzLCByZXF1ZXN0IH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1Y2tldEVuZHBvaW50TWlkZGxld2FyZU9wdGlvbnM6IFJlbGF0aXZlTWlkZGxld2FyZU9wdGlvbnMgPSB7XG4gIHRhZ3M6IFtcIkJVQ0tFVF9FTkRQT0lOVFwiXSxcbiAgbmFtZTogXCJidWNrZXRFbmRwb2ludE1pZGRsZXdhcmVcIixcbiAgcmVsYXRpb246IFwiYmVmb3JlXCIsXG4gIHRvTWlkZGxld2FyZTogXCJob3N0SGVhZGVyTWlkZGxld2FyZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRCdWNrZXRFbmRwb2ludFBsdWdpbiA9IChvcHRpb25zOiBCdWNrZXRFbmRwb2ludFJlc29sdmVkQ29uZmlnKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZFJlbGF0aXZlVG8oYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlKG9wdGlvbnMpLCBidWNrZXRFbmRwb2ludE1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19
@@ -1,123 +0,0 @@
1
- import { __assign, __read } from "tslib";
2
- import { DOT_PATTERN, getArnResources, getPseudoRegion, getSuffix, getSuffixForArnEndpoint, isBucketNameOptions, isDnsCompatibleBucketName, isFipsRegion, validateAccountId, validateArnEndpointOptions, validateCustomEndpoint, validateDNSHostLabel, validateMrapAlias, validateNoDualstack, validateNoFIPS, validateOutpostService, validatePartition, validateRegion, validateRegionalClient, validateS3Service, validateService, } from "./bucketHostnameUtils";
3
- export var bucketHostname = function (options) {
4
- validateCustomEndpoint(options);
5
- return isBucketNameOptions(options)
6
- ? // Construct endpoint when bucketName is a string referring to a bucket name
7
- getEndpointFromBucketName(options)
8
- : // Construct endpoint when bucketName is an ARN referring to an S3 resource like Access Point
9
- getEndpointFromArn(options);
10
- };
11
- var getEndpointFromBucketName = function (_a) {
12
- var _b = _a.accelerateEndpoint, accelerateEndpoint = _b === void 0 ? false : _b, region = _a.clientRegion, baseHostname = _a.baseHostname, bucketName = _a.bucketName, _c = _a.dualstackEndpoint, dualstackEndpoint = _c === void 0 ? false : _c, _d = _a.pathStyleEndpoint, pathStyleEndpoint = _d === void 0 ? false : _d, _e = _a.tlsCompatible, tlsCompatible = _e === void 0 ? true : _e, _f = _a.isCustomEndpoint, isCustomEndpoint = _f === void 0 ? false : _f;
13
- var _g = __read(isCustomEndpoint ? [region, baseHostname] : getSuffix(baseHostname), 2), clientRegion = _g[0], hostnameSuffix = _g[1];
14
- if (pathStyleEndpoint || !isDnsCompatibleBucketName(bucketName) || (tlsCompatible && DOT_PATTERN.test(bucketName))) {
15
- return {
16
- bucketEndpoint: false,
17
- hostname: dualstackEndpoint ? "s3.dualstack." + clientRegion + "." + hostnameSuffix : baseHostname,
18
- };
19
- }
20
- if (accelerateEndpoint) {
21
- baseHostname = "s3-accelerate" + (dualstackEndpoint ? ".dualstack" : "") + "." + hostnameSuffix;
22
- }
23
- else if (dualstackEndpoint) {
24
- baseHostname = "s3.dualstack." + clientRegion + "." + hostnameSuffix;
25
- }
26
- return {
27
- bucketEndpoint: true,
28
- hostname: bucketName + "." + baseHostname,
29
- };
30
- };
31
- var getEndpointFromArn = function (options) {
32
- var isCustomEndpoint = options.isCustomEndpoint, baseHostname = options.baseHostname, clientRegion = options.clientRegion;
33
- var hostnameSuffix = isCustomEndpoint ? baseHostname : getSuffixForArnEndpoint(baseHostname)[1];
34
- var pathStyleEndpoint = options.pathStyleEndpoint, _a = options.accelerateEndpoint, accelerateEndpoint = _a === void 0 ? false : _a, _b = options.tlsCompatible, tlsCompatible = _b === void 0 ? true : _b, bucketName = options.bucketName, _c = options.clientPartition, clientPartition = _c === void 0 ? "aws" : _c;
35
- validateArnEndpointOptions({ pathStyleEndpoint: pathStyleEndpoint, accelerateEndpoint: accelerateEndpoint, tlsCompatible: tlsCompatible });
36
- // Validate and parse the ARN supplied as a bucket name
37
- var service = bucketName.service, partition = bucketName.partition, accountId = bucketName.accountId, region = bucketName.region, resource = bucketName.resource;
38
- validateService(service);
39
- validatePartition(partition, { clientPartition: clientPartition });
40
- validateAccountId(accountId);
41
- var _d = getArnResources(resource), accesspointName = _d.accesspointName, outpostId = _d.outpostId;
42
- if (service === "s3-object-lambda") {
43
- return getEndpointFromObjectLambdaArn(__assign(__assign({}, options), { tlsCompatible: tlsCompatible, bucketName: bucketName, accesspointName: accesspointName, hostnameSuffix: hostnameSuffix }));
44
- }
45
- if (region === "") {
46
- return getEndpointFromMRAPArn(__assign(__assign({}, options), { clientRegion: clientRegion, mrapAlias: accesspointName, hostnameSuffix: hostnameSuffix }));
47
- }
48
- if (outpostId) {
49
- return getEndpointFromOutpostArn(__assign(__assign({}, options), { clientRegion: clientRegion, outpostId: outpostId, accesspointName: accesspointName, hostnameSuffix: hostnameSuffix }));
50
- }
51
- return getEndpointFromAccessPointArn(__assign(__assign({}, options), { clientRegion: clientRegion, accesspointName: accesspointName, hostnameSuffix: hostnameSuffix }));
52
- };
53
- var getEndpointFromObjectLambdaArn = function (_a) {
54
- var _b = _a.dualstackEndpoint, dualstackEndpoint = _b === void 0 ? false : _b, _c = _a.tlsCompatible, tlsCompatible = _c === void 0 ? true : _c, useArnRegion = _a.useArnRegion, clientRegion = _a.clientRegion, _d = _a.clientSigningRegion, clientSigningRegion = _d === void 0 ? clientRegion : _d, accesspointName = _a.accesspointName, bucketName = _a.bucketName, hostnameSuffix = _a.hostnameSuffix;
55
- var accountId = bucketName.accountId, region = bucketName.region, service = bucketName.service;
56
- validateRegionalClient(clientRegion);
57
- validateRegion(region, { useArnRegion: useArnRegion, clientRegion: clientRegion, clientSigningRegion: clientSigningRegion, allowFipsRegion: true });
58
- validateNoDualstack(dualstackEndpoint);
59
- var DNSHostLabel = accesspointName + "-" + accountId;
60
- validateDNSHostLabel(DNSHostLabel, { tlsCompatible: tlsCompatible });
61
- var endpointRegion = useArnRegion ? region : clientRegion;
62
- var signingRegion = useArnRegion ? region : clientSigningRegion;
63
- return {
64
- bucketEndpoint: true,
65
- hostname: DNSHostLabel + "." + service + (isFipsRegion(clientRegion) ? "-fips" : "") + "." + getPseudoRegion(endpointRegion) + "." + hostnameSuffix,
66
- signingRegion: signingRegion,
67
- signingService: service,
68
- };
69
- };
70
- var getEndpointFromMRAPArn = function (_a) {
71
- var disableMultiregionAccessPoints = _a.disableMultiregionAccessPoints, _b = _a.dualstackEndpoint, dualstackEndpoint = _b === void 0 ? false : _b, isCustomEndpoint = _a.isCustomEndpoint, mrapAlias = _a.mrapAlias, hostnameSuffix = _a.hostnameSuffix;
72
- // If this is a multi-regional access point, and not explicitly opted out.
73
- if (disableMultiregionAccessPoints === true) {
74
- throw new Error("SDK is attempting to use a MRAP ARN. Please enable to feature.");
75
- }
76
- validateMrapAlias(mrapAlias);
77
- validateNoDualstack(dualstackEndpoint);
78
- return {
79
- bucketEndpoint: true,
80
- hostname: "" + mrapAlias + (isCustomEndpoint ? "" : ".accesspoint.s3-global") + "." + hostnameSuffix,
81
- signingRegion: "*",
82
- };
83
- };
84
- var getEndpointFromOutpostArn = function (_a) {
85
- var useArnRegion = _a.useArnRegion, clientRegion = _a.clientRegion, _b = _a.clientSigningRegion, clientSigningRegion = _b === void 0 ? clientRegion : _b, bucketName = _a.bucketName, outpostId = _a.outpostId, _c = _a.dualstackEndpoint, dualstackEndpoint = _c === void 0 ? false : _c, _d = _a.tlsCompatible, tlsCompatible = _d === void 0 ? true : _d, accesspointName = _a.accesspointName, isCustomEndpoint = _a.isCustomEndpoint, hostnameSuffix = _a.hostnameSuffix;
86
- // if this is an Outpost ARN
87
- validateRegionalClient(clientRegion);
88
- validateRegion(bucketName.region, { useArnRegion: useArnRegion, clientRegion: clientRegion, clientSigningRegion: clientSigningRegion });
89
- var DNSHostLabel = accesspointName + "-" + bucketName.accountId;
90
- validateDNSHostLabel(DNSHostLabel, { tlsCompatible: tlsCompatible });
91
- var endpointRegion = useArnRegion ? bucketName.region : clientRegion;
92
- var signingRegion = useArnRegion ? bucketName.region : clientSigningRegion;
93
- validateOutpostService(bucketName.service);
94
- validateDNSHostLabel(outpostId, { tlsCompatible: tlsCompatible });
95
- validateNoDualstack(dualstackEndpoint);
96
- validateNoFIPS(endpointRegion);
97
- var hostnamePrefix = DNSHostLabel + "." + outpostId;
98
- return {
99
- bucketEndpoint: true,
100
- hostname: "" + hostnamePrefix + (isCustomEndpoint ? "" : ".s3-outposts." + endpointRegion) + "." + hostnameSuffix,
101
- signingRegion: signingRegion,
102
- signingService: "s3-outposts",
103
- };
104
- };
105
- var getEndpointFromAccessPointArn = function (_a) {
106
- var useArnRegion = _a.useArnRegion, clientRegion = _a.clientRegion, _b = _a.clientSigningRegion, clientSigningRegion = _b === void 0 ? clientRegion : _b, bucketName = _a.bucketName, _c = _a.dualstackEndpoint, dualstackEndpoint = _c === void 0 ? false : _c, _d = _a.tlsCompatible, tlsCompatible = _d === void 0 ? true : _d, accesspointName = _a.accesspointName, isCustomEndpoint = _a.isCustomEndpoint, hostnameSuffix = _a.hostnameSuffix;
107
- // construct endpoint from Accesspoint ARN
108
- validateRegionalClient(clientRegion);
109
- validateRegion(bucketName.region, { useArnRegion: useArnRegion, clientRegion: clientRegion, clientSigningRegion: clientSigningRegion, allowFipsRegion: true });
110
- var hostnamePrefix = accesspointName + "-" + bucketName.accountId;
111
- validateDNSHostLabel(hostnamePrefix, { tlsCompatible: tlsCompatible });
112
- var endpointRegion = useArnRegion ? bucketName.region : clientRegion;
113
- var signingRegion = useArnRegion ? bucketName.region : clientSigningRegion;
114
- validateS3Service(bucketName.service);
115
- return {
116
- bucketEndpoint: true,
117
- hostname: "" + hostnamePrefix + (isCustomEndpoint
118
- ? ""
119
- : ".s3-accesspoint" + (isFipsRegion(clientRegion) ? "-fips" : "") + (dualstackEndpoint ? ".dualstack" : "") + "." + getPseudoRegion(endpointRegion)) + "." + hostnameSuffix,
120
- signingRegion: signingRegion,
121
- };
122
- };
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVja2V0SG9zdG5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFHTCxXQUFXLEVBQ1gsZUFBZSxFQUNmLGVBQWUsRUFDZixTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLGVBQWUsR0FDaEIsTUFBTSx1QkFBdUIsQ0FBQztBQVMvQixNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUcsVUFBQyxPQUFpRDtJQUM5RSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxPQUFPLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztRQUNqQyxDQUFDLENBQUMsNEVBQTRFO1lBQzVFLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztRQUNwQyxDQUFDLENBQUMsNkZBQTZGO1lBQzdGLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUVGLElBQU0seUJBQXlCLEdBQUcsVUFBQyxFQVNaO1FBUnJCLDBCQUEwQixFQUExQixrQkFBa0IsbUJBQUcsS0FBSyxLQUFBLEVBQ1osTUFBTSxrQkFBQSxFQUNwQixZQUFZLGtCQUFBLEVBQ1osVUFBVSxnQkFBQSxFQUNWLHlCQUF5QixFQUF6QixpQkFBaUIsbUJBQUcsS0FBSyxLQUFBLEVBQ3pCLHlCQUF5QixFQUF6QixpQkFBaUIsbUJBQUcsS0FBSyxLQUFBLEVBQ3pCLHFCQUFvQixFQUFwQixhQUFhLG1CQUFHLElBQUksS0FBQSxFQUNwQix3QkFBd0IsRUFBeEIs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LENBQUMsQ0FBQyxFQUFFO1lBQ0osQ0FBQyxDQUFDLHFCQUFrQixZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUN6RCxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQ25DLGVBQWUsQ0FBQyxjQUFjLENBQUcsVUFDdkMsY0FBZ0I7UUFDcEIsYUFBYSxlQUFBO0tBQ2QsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFSTiB9IGZyb20gXCJAYXdzLXNkay91dGlsLWFybi1wYXJzZXJcIjtcblxuaW1wb3J0IHtcbiAgQXJuSG9zdG5hbWVQYXJhbXMsXG4gIEJ1Y2tldEhvc3RuYW1lUGFyYW1zLFxuICBET1RfUEFUVEVSTixcbiAgZ2V0QXJuUmVzb3VyY2VzLFxuICBnZXRQc2V1ZG9SZWdpb24sXG4gIGdldFN1ZmZpeCxcbiAgZ2V0U3VmZml4Rm9yQXJuRW5kcG9pbnQsXG4gIGlzQnVja2V0TmFtZU9wdGlvbnMsXG4gIGlzRG5zQ29tcGF0aWJsZUJ1Y2tldE5hbWUsXG4gIGlzRmlwc1JlZ2lvbixcbiAgdmFsaWRhdGVBY2NvdW50SWQsXG4gIHZhbGlkYXRlQXJuRW5kcG9pbnRPcHRpb25zLFxuICB2YWxpZGF0ZUN1c3RvbUVuZHBvaW50LFxuICB2YWxpZGF0ZUROU0hvc3RMYWJlbCxcbiAgdmFsaWRhdGVNcmFwQWxpYXMsXG4gIHZhbGlkYXRlTm9EdWFsc3RhY2ssXG4gIHZhbGlkYXRlTm9GSVBTLFxuICB2YWxpZGF0ZU91dHBvc3RTZXJ2aWNlLFxuICB2YWxpZGF0ZVBhcnRpdGlvbixcbiAgdmFsaWRhdGVSZWdpb24sXG4gIHZhbGlkYXRlUmVnaW9uYWxDbGllbnQsXG4gIHZhbGlkYXRlUzNTZXJ2aWNlLFxuICB2YWxpZGF0ZVNlcnZpY2UsXG59IGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lVXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRIb3N0bmFtZSB7XG4gIGhvc3RuYW1lOiBzdHJpbmc7XG4gIGJ1Y2tldEVuZHBvaW50OiBib29sZWFuO1xuICBzaWduaW5nUmVnaW9uPzogc3RyaW5nO1xuICBzaWduaW5nU2VydmljZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGJ1Y2tldEhvc3RuYW1lID0gKG9wdGlvbnM6IEJ1Y2tldEhvc3RuYW1lUGFyYW1zIHwgQXJuSG9zdG5hbWVQYXJhbXMpOiBCdWNrZXRIb3N0bmFtZSA9PiB7XG4gIHZhbGlkYXRlQ3VzdG9tRW5kcG9pbnQob3B0aW9ucyk7XG4gIHJldHVybiBpc0J1Y2tldE5hbWVPcHRpb25zKG9wdGlvbnMpXG4gICAgPyAvLyBDb25zdHJ1Y3QgZW5kcG9pbnQgd2hlbiBidWNrZXROYW1lIGlzIGEgc3RyaW5nIHJlZmVycmluZyB0byBhIGJ1Y2tldCBuYW1lXG4gICAgICBnZXRFbmRwb2ludEZyb21CdWNrZXROYW1lKG9wdGlvbnMpXG4gICAgOiAvLyBDb25zdHJ1Y3QgZW5kcG9pbnQgd2hlbiBidWNrZXROYW1lIGlzIGFuIEFSTiByZWZlcnJpbmcgdG8gYW4gUzMgcmVzb3VyY2UgbGlrZSBBY2Nlc3MgUG9pbnRcbiAgICAgIGdldEVuZHBvaW50RnJvbUFybihvcHRpb25zKTtcbn07XG5cbmNvbnN0IGdldEVuZHBvaW50RnJvbUJ1Y2tldE5hbWUgPSAoe1xuICBhY2NlbGVyYXRlRW5kcG9pbnQgPSBmYWxzZSxcbiAgY2xpZW50UmVnaW9uOiByZWdpb24sXG4gIGJhc2VIb3N0bmFtZSxcbiAgYnVja2V0TmFtZSxcbiAgZHVhbHN0YWNrRW5kcG9pbnQgPSBmYWxzZSxcbiAgcGF0aFN0eWxlRW5kcG9pbnQgPSBmYWxzZSxcbiAgdGxzQ29tcGF0aWJsZSA9IHRydWUsXG4gIGlzQ3VzdG9tRW5kcG9pbnQgPSBmYWxzZSxcbn06IEJ1Y2tldEhvc3RuYW1lUGFyYW1zKTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCBbY2xpZW50UmVnaW9uLCBob3N0bmFtZVN1ZmZpeF0gPSBpc0N1c3RvbUVuZHBvaW50ID8gW3JlZ2lvbiwgYmFzZUhvc3RuYW1lXSA6IGdldFN1ZmZpeChiYXNlSG9zdG5hbWUpO1xuICBpZiAocGF0aFN0eWxlRW5kcG9pbnQgfHwgIWlzRG5zQ29tcGF0aWJsZUJ1Y2tldE5hbWUoYnVja2V0TmFtZSkgfHwgKHRsc0NvbXBhdGlibGUgJiYgRE9UX1BBVFRFUk4udGVzdChidWNrZXROYW1lKSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnVja2V0RW5kcG9pbnQ6IGZhbHNlLFxuICAgICAgaG9zdG5hbWU6IGR1YWxzdGFja0VuZHBvaW50ID8gYHMzLmR1YWxzdGFjay4ke2NsaWVudFJlZ2lvbn0uJHtob3N0bmFtZVN1ZmZpeH1gIDogYmFzZUhvc3RuYW1lLFxuICAgIH07XG4gIH1cblxuICBpZiAoYWNjZWxlcmF0ZUVuZHBvaW50KSB7XG4gICAgYmFzZUhvc3RuYW1lID0gYHMzLWFjY2VsZXJhdGUke2R1YWxzdGFja0VuZHBvaW50ID8gXCIuZHVhbHN0YWNrXCIgOiBcIlwifS4ke2hvc3RuYW1lU3VmZml4fWA7XG4gIH0gZWxzZSBpZiAoZHVhbHN0YWNrRW5kcG9pbnQpIHtcbiAgICBiYXNlSG9zdG5hbWUgPSBgczMuZHVhbHN0YWNrLiR7Y2xpZW50UmVnaW9ufS4ke2hvc3RuYW1lU3VmZml4fWA7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHtidWNrZXROYW1lfS4ke2Jhc2VIb3N0bmFtZX1gLFxuICB9O1xufTtcblxuY29uc3QgZ2V0RW5kcG9pbnRGcm9tQXJuID0gKG9wdGlvbnM6IEFybkhvc3RuYW1lUGFyYW1zKTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCB7IGlzQ3VzdG9tRW5kcG9pbnQsIGJhc2VIb3N0bmFtZSwgY2xpZW50UmVnaW9uIH0gPSBvcHRpb25zO1xuICBjb25zdCBob3N0bmFtZVN1ZmZpeCA9IGlzQ3VzdG9tRW5kcG9pbnQgPyBiYXNlSG9zdG5hbWUgOiBnZXRTdWZmaXhGb3JBcm5FbmRwb2ludChiYXNlSG9zdG5hbWUpWzFdO1xuXG4gIGNvbnN0IHtcbiAgICBwYXRoU3R5bGVFbmRwb2ludCxcbiAgICBhY2NlbGVyYXRlRW5kcG9pbnQgPSBmYWxzZSxcbiAgICB0bHNDb21wYXRpYmxlID0gdHJ1ZSxcbiAgICBidWNrZXROYW1lLFxuICAgIGNsaWVudFBhcnRpdGlvbiA9IFwiYXdzXCIsXG4gIH0gPSBvcHRpb25zO1xuXG4gIHZhbGlkYXRlQXJuRW5kcG9pbnRPcHRpb25zKHsgcGF0aFN0eWxlRW5kcG9pbnQsIGFjY2VsZXJhdGVFbmRwb2ludCwgdGxzQ29tcGF0aWJsZSB9KTtcblxuICAvLyBWYWxpZGF0ZSBhbmQgcGFyc2UgdGhlIEFSTiBzdXBwbGllZCBhcyBhIGJ1Y2tldCBuYW1lXG4gIGNvbnN0IHsgc2VydmljZSwgcGFydGl0aW9uLCBhY2NvdW50SWQsIHJlZ2lvbiwgcmVzb3VyY2UgfSA9IGJ1Y2tldE5hbWU7XG4gIHZhbGlkYXRlU2VydmljZShzZXJ2aWNlKTtcbiAgdmFsaWRhdGVQYXJ0aXRpb24ocGFydGl0aW9uLCB7IGNsaWVudFBhcnRpdGlvbiB9KTtcbiAgdmFsaWRhdGVBY2NvdW50SWQoYWNjb3VudElkKTtcbiAgY29uc3QgeyBhY2Nlc3Nwb2ludE5hbWUsIG91dHBvc3RJZCB9ID0gZ2V0QXJuUmVzb3VyY2VzKHJlc291cmNlKTtcbiAgaWYgKHNlcnZpY2UgPT09IFwiczMtb2JqZWN0LWxhbWJkYVwiKSB7XG4gICAgcmV0dXJuIGdldEVuZHBvaW50RnJvbU9iamVjdExhbWJkYUFybih7IC4uLm9wdGlvbnMsIHRsc0NvbXBhdGlibGUsIGJ1Y2tldE5hbWUsIGFjY2Vzc3BvaW50TmFtZSwgaG9zdG5hbWVTdWZmaXggfSk7XG4gIH1cbiAgaWYgKHJlZ2lvbiA9PT0gXCJcIikge1xuICAgIHJldHVybiBnZXRFbmRwb2ludEZyb21NUkFQQXJuKHsgLi4ub3B0aW9ucywgY2xpZW50UmVnaW9uLCBtcmFwQWxpYXM6IGFjY2Vzc3BvaW50TmFtZSwgaG9zdG5hbWVTdWZmaXggfSk7XG4gIH1cbiAgaWYgKG91dHBvc3RJZCkge1xuICAgIHJldHVybiBnZXRFbmRwb2ludEZyb21PdXRwb3N0QXJuKHsgLi4ub3B0aW9ucywgY2xpZW50UmVnaW9uLCBvdXRwb3N0SWQsIGFjY2Vzc3BvaW50TmFtZSwgaG9zdG5hbWVTdWZmaXggfSk7XG4gIH1cbiAgcmV0dXJuIGdldEVuZHBvaW50RnJvbUFjY2Vzc1BvaW50QXJuKHsgLi4ub3B0aW9ucywgY2xpZW50UmVnaW9uLCBhY2Nlc3Nwb2ludE5hbWUsIGhvc3RuYW1lU3VmZml4IH0pO1xufTtcblxuY29uc3QgZ2V0RW5kcG9pbnRGcm9tT2JqZWN0TGFtYmRhQXJuID0gKHtcbiAgZHVhbHN0YWNrRW5kcG9pbnQgPSBmYWxzZSxcbiAgdGxzQ29tcGF0aWJsZSA9IHRydWUsXG4gIHVzZUFyblJlZ2lvbixcbiAgY2xpZW50UmVnaW9uLFxuICBjbGllbnRTaWduaW5nUmVnaW9uID0gY2xpZW50UmVnaW9uLFxuICBhY2Nlc3Nwb2ludE5hbWUsXG4gIGJ1Y2tldE5hbWUsXG4gIGhvc3RuYW1lU3VmZml4LFxufTogQXJuSG9zdG5hbWVQYXJhbXMgJiB7XG4gIGFjY2Vzc3BvaW50TmFtZTogc3RyaW5nO1xuICBidWNrZXROYW1lOiBBUk47XG4gIGhvc3RuYW1lU3VmZml4OiBzdHJpbmc7XG59KTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCB7IGFjY291bnRJZCwgcmVnaW9uLCBzZXJ2aWNlIH0gPSBidWNrZXROYW1lO1xuICB2YWxpZGF0ZVJlZ2lvbmFsQ2xpZW50KGNsaWVudFJlZ2lvbik7XG4gIHZhbGlkYXRlUmVnaW9uKHJlZ2lvbiwgeyB1c2VBcm5SZWdpb24sIGNsaWVudFJlZ2lvbiwgY2xpZW50U2lnbmluZ1JlZ2lvbiwgYWxsb3dGaXBzUmVnaW9uOiB0cnVlIH0pO1xuICB2YWxpZGF0ZU5vRHVhbHN0YWNrKGR1YWxzdGFja0VuZHBvaW50KTtcbiAgY29uc3QgRE5TSG9zdExhYmVsID0gYCR7YWNjZXNzcG9pbnROYW1lfS0ke2FjY291bnRJZH1gO1xuICB2YWxpZGF0ZUROU0hvc3RMYWJlbChETlNIb3N0TGFiZWwsIHsgdGxzQ29tcGF0aWJsZSB9KTtcblxuICBjb25zdCBlbmRwb2ludFJlZ2lvbiA9IHVzZUFyblJlZ2lvbiA/IHJlZ2lvbiA6IGNsaWVudFJlZ2lvbjtcbiAgY29uc3Qgc2lnbmluZ1JlZ2lvbiA9IHVzZUFyblJlZ2lvbiA/IHJlZ2lvbiA6IGNsaWVudFNpZ25pbmdSZWdpb247XG5cbiAgcmV0dXJuIHtcbiAgICBidWNrZXRFbmRwb2ludDogdHJ1ZSxcbiAgICBob3N0bmFtZTogYCR7RE5TSG9zdExhYmVsfS4ke3NlcnZpY2V9JHtpc0ZpcHNSZWdpb24oY2xpZW50UmVnaW9uKSA/IFwiLWZpcHNcIiA6IFwiXCJ9LiR7Z2V0UHNldWRvUmVnaW9uKFxuICAgICAgZW5kcG9pbnRSZWdpb25cbiAgICApfS4ke2hvc3RuYW1lU3VmZml4fWAsXG4gICAgc2lnbmluZ1JlZ2lvbixcbiAgICBzaWduaW5nU2VydmljZTogc2VydmljZSxcbiAgfTtcbn07XG5cbmNvbnN0IGdldEVuZHBvaW50RnJvbU1SQVBBcm4gPSAoe1xuICBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHMsXG4gIGR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gIGlzQ3VzdG9tRW5kcG9pbnQsXG4gIG1yYXBBbGlhcyxcbiAgaG9zdG5hbWVTdWZmaXgsXG59OiBBcm5Ib3N0bmFtZVBhcmFtcyAmIHsgbXJhcEFsaWFzOiBzdHJpbmc7IGhvc3RuYW1lU3VmZml4OiBzdHJpbmcgfSk6IEJ1Y2tldEhvc3RuYW1lID0+IHtcbiAgLy8gSWYgdGhpcyBpcyBhIG11bHRpLXJlZ2lvbmFsIGFjY2VzcyBwb2ludCwgYW5kIG5vdCBleHBsaWNpdGx5IG9wdGVkIG91dC5cbiAgaWYgKGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50cyA9PT0gdHJ1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNESyBpcyBhdHRlbXB0aW5nIHRvIHVzZSBhIE1SQVAgQVJOLiBQbGVhc2UgZW5hYmxlIHRvIGZlYXR1cmUuXCIpO1xuICB9XG4gIHZhbGlkYXRlTXJhcEFsaWFzKG1yYXBBbGlhcyk7XG4gIHZhbGlkYXRlTm9EdWFsc3RhY2soZHVhbHN0YWNrRW5kcG9pbnQpO1xuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHttcmFwQWxpYXN9JHtpc0N1c3RvbUVuZHBvaW50ID8gXCJcIiA6IGAuYWNjZXNzcG9pbnQuczMtZ2xvYmFsYH0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgIHNpZ25pbmdSZWdpb246IFwiKlwiLFxuICB9O1xufTtcblxuY29uc3QgZ2V0RW5kcG9pbnRGcm9tT3V0cG9zdEFybiA9ICh7XG4gIHVzZUFyblJlZ2lvbixcbiAgY2xpZW50UmVnaW9uLFxuICBjbGllbnRTaWduaW5nUmVnaW9uID0gY2xpZW50UmVnaW9uLFxuICBidWNrZXROYW1lLFxuICBvdXRwb3N0SWQsXG4gIGR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gIHRsc0NvbXBhdGlibGUgPSB0cnVlLFxuICBhY2Nlc3Nwb2ludE5hbWUsXG4gIGlzQ3VzdG9tRW5kcG9pbnQsXG4gIGhvc3RuYW1lU3VmZml4LFxufTogQXJuSG9zdG5hbWVQYXJhbXMgJiB7IG91dHBvc3RJZDogc3RyaW5nOyBhY2Nlc3Nwb2ludE5hbWU6IHN0cmluZzsgaG9zdG5hbWVTdWZmaXg6IHN0cmluZyB9KTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICAvLyBpZiB0aGlzIGlzIGFuIE91dHBvc3QgQVJOXG4gIHZhbGlkYXRlUmVnaW9uYWxDbGllbnQoY2xpZW50UmVnaW9uKTtcbiAgdmFsaWRhdGVSZWdpb24oYnVja2V0TmFtZS5yZWdpb24sIHsgdXNlQXJuUmVnaW9uLCBjbGllbnRSZWdpb24sIGNsaWVudFNpZ25pbmdSZWdpb24gfSk7XG4gIGNvbnN0IEROU0hvc3RMYWJlbCA9IGAke2FjY2Vzc3BvaW50TmFtZX0tJHtidWNrZXROYW1lLmFjY291bnRJZH1gO1xuICB2YWxpZGF0ZUROU0hvc3RMYWJlbChETlNIb3N0TGFiZWwsIHsgdGxzQ29tcGF0aWJsZSB9KTtcbiAgY29uc3QgZW5kcG9pbnRSZWdpb24gPSB1c2VBcm5SZWdpb24gPyBidWNrZXROYW1lLnJlZ2lvbiA6IGNsaWVudFJlZ2lvbjtcbiAgY29uc3Qgc2lnbmluZ1JlZ2lvbiA9IHVzZUFyblJlZ2lvbiA/IGJ1Y2tldE5hbWUucmVnaW9uIDogY2xpZW50U2lnbmluZ1JlZ2lvbjtcbiAgdmFsaWRhdGVPdXRwb3N0U2VydmljZShidWNrZXROYW1lLnNlcnZpY2UpO1xuICB2YWxpZGF0ZUROU0hvc3RMYWJlbChvdXRwb3N0SWQsIHsgdGxzQ29tcGF0aWJsZSB9KTtcbiAgdmFsaWRhdGVOb0R1YWxzdGFjayhkdWFsc3RhY2tFbmRwb2ludCk7XG4gIHZhbGlkYXRlTm9GSVBTKGVuZHBvaW50UmVnaW9uKTtcbiAgY29uc3QgaG9zdG5hbWVQcmVmaXggPSBgJHtETlNIb3N0TGFiZWx9LiR7b3V0cG9zdElkfWA7XG4gIHJldHVybiB7XG4gICAgYnVja2V0RW5kcG9pbnQ6IHRydWUsXG4gICAgaG9zdG5hbWU6IGAke2hvc3RuYW1lUHJlZml4fSR7aXNDdXN0b21FbmRwb2ludCA/IFwiXCIgOiBgLnMzLW91dHBvc3RzLiR7ZW5kcG9pbnRSZWdpb259YH0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgIHNpZ25pbmdSZWdpb24sXG4gICAgc2lnbmluZ1NlcnZpY2U6IFwiczMtb3V0cG9zdHNcIixcbiAgfTtcbn07XG5cbmNvbnN0IGdldEVuZHBvaW50RnJvbUFjY2Vzc1BvaW50QXJuID0gKHtcbiAgdXNlQXJuUmVnaW9uLFxuICBjbGllbnRSZWdpb24sXG4gIGNsaWVudFNpZ25pbmdSZWdpb24gPSBjbGllbnRSZWdpb24sXG4gIGJ1Y2tldE5hbWUsXG4gIGR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gIHRsc0NvbXBhdGlibGUgPSB0cnVlLFxuICBhY2Nlc3Nwb2ludE5hbWUsXG4gIGlzQ3VzdG9tRW5kcG9pbnQsXG4gIGhvc3RuYW1lU3VmZml4LFxufTogQXJuSG9zdG5hbWVQYXJhbXMgJiB7IGFjY2Vzc3BvaW50TmFtZTogc3RyaW5nOyBob3N0bmFtZVN1ZmZpeDogc3RyaW5nIH0pOiBCdWNrZXRIb3N0bmFtZSA9PiB7XG4gIC8vIGNvbnN0cnVjdCBlbmRwb2ludCBmcm9tIEFjY2Vzc3BvaW50IEFSTlxuICB2YWxpZGF0ZVJlZ2lvbmFsQ2xpZW50KGNsaWVudFJlZ2lvbik7XG4gIHZhbGlkYXRlUmVnaW9uKGJ1Y2tldE5hbWUucmVnaW9uLCB7IHVzZUFyblJlZ2lvbiwgY2xpZW50UmVnaW9uLCBjbGllbnRTaWduaW5nUmVnaW9uLCBhbGxvd0ZpcHNSZWdpb246IHRydWUgfSk7XG4gIGNvbnN0IGhvc3RuYW1lUHJlZml4ID0gYCR7YWNjZXNzcG9pbnROYW1lfS0ke2J1Y2tldE5hbWUuYWNjb3VudElkfWA7XG4gIHZhbGlkYXRlRE5TSG9zdExhYmVsKGhvc3RuYW1lUHJlZml4LCB7IHRsc0NvbXBhdGlibGUgfSk7XG4gIGNvbnN0IGVuZHBvaW50UmVnaW9uID0gdXNlQXJuUmVnaW9uID8gYnVja2V0TmFtZS5yZWdpb24gOiBjbGllbnRSZWdpb247XG4gIGNvbnN0IHNpZ25pbmdSZWdpb24gPSB1c2VBcm5SZWdpb24gPyBidWNrZXROYW1lLnJlZ2lvbiA6IGNsaWVudFNpZ25pbmdSZWdpb247XG4gIHZhbGlkYXRlUzNTZXJ2aWNlKGJ1Y2tldE5hbWUuc2VydmljZSk7XG4gIHJldHVybiB7XG4gICAgYnVja2V0RW5kcG9pbnQ6IHRydWUsXG4gICAgaG9zdG5hbWU6IGAke2hvc3RuYW1lUHJlZml4fSR7XG4gICAgICBpc0N1c3RvbUVuZHBvaW50XG4gICAgICAgID8gXCJcIlxuICAgICAgICA6IGAuczMtYWNjZXNzcG9pbnQke2lzRmlwc1JlZ2lvbihjbGllbnRSZWdpb24pID8gXCItZmlwc1wiIDogXCJcIn0ke1xuICAgICAgICAgICAgZHVhbHN0YWNrRW5kcG9pbnQgPyBcIi5kdWFsc3RhY2tcIiA6IFwiXCJcbiAgICAgICAgICB9LiR7Z2V0UHNldWRvUmVnaW9uKGVuZHBvaW50UmVnaW9uKX1gXG4gICAgfS4ke2hvc3RuYW1lU3VmZml4fWAsXG4gICAgc2lnbmluZ1JlZ2lvbixcbiAgfTtcbn07XG4iXX0=
@@ -1,210 +0,0 @@
1
- import { __read } from "tslib";
2
- var DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/;
3
- var IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/;
4
- var DOTS_PATTERN = /\.\./;
5
- export var DOT_PATTERN = /\./;
6
- export var S3_HOSTNAME_PATTERN = /^(.+\.)?s3[.-]([a-z0-9-]+)\./;
7
- var S3_US_EAST_1_ALTNAME_PATTERN = /^s3(-external-1)?\.amazonaws\.com$/;
8
- var AWS_PARTITION_SUFFIX = "amazonaws.com";
9
- export var isBucketNameOptions = function (options) { return typeof options.bucketName === "string"; };
10
- /**
11
- * Get pseudo region from supplied region. For example, if supplied with `fips-us-west-2`, it returns `us-west-2`.
12
- * @internal
13
- */
14
- export var getPseudoRegion = function (region) { return (isFipsRegion(region) ? region.replace(/fips-|-fips/, "") : region); };
15
- /**
16
- * Determines whether a given string is DNS compliant per the rules outlined by
17
- * S3. Length, capitaization, and leading dot restrictions are enforced by the
18
- * DOMAIN_PATTERN regular expression.
19
- * @internal
20
- *
21
- * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
22
- */
23
- export var isDnsCompatibleBucketName = function (bucketName) {
24
- return DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);
25
- };
26
- var getRegionalSuffix = function (hostname) {
27
- var parts = hostname.match(S3_HOSTNAME_PATTERN);
28
- return [parts[2], hostname.replace(new RegExp("^" + parts[0]), "")];
29
- };
30
- export var getSuffix = function (hostname) {
31
- return S3_US_EAST_1_ALTNAME_PATTERN.test(hostname) ? ["us-east-1", AWS_PARTITION_SUFFIX] : getRegionalSuffix(hostname);
32
- };
33
- /**
34
- * Infer region and hostname suffix from a complete hostname
35
- * @internal
36
- * @param hostname - Hostname
37
- * @returns [Region, Hostname suffix]
38
- */
39
- export var getSuffixForArnEndpoint = function (hostname) {
40
- return S3_US_EAST_1_ALTNAME_PATTERN.test(hostname)
41
- ? [hostname.replace("." + AWS_PARTITION_SUFFIX, ""), AWS_PARTITION_SUFFIX]
42
- : getRegionalSuffix(hostname);
43
- };
44
- export var validateArnEndpointOptions = function (options) {
45
- if (options.pathStyleEndpoint) {
46
- throw new Error("Path-style S3 endpoint is not supported when bucket is an ARN");
47
- }
48
- if (options.accelerateEndpoint) {
49
- throw new Error("Accelerate endpoint is not supported when bucket is an ARN");
50
- }
51
- if (!options.tlsCompatible) {
52
- throw new Error("HTTPS is required when bucket is an ARN");
53
- }
54
- };
55
- export var validateService = function (service) {
56
- if (service !== "s3" && service !== "s3-outposts" && service !== "s3-object-lambda") {
57
- throw new Error("Expect 's3' or 's3-outposts' or 's3-object-lambda' in ARN service component");
58
- }
59
- };
60
- export var validateS3Service = function (service) {
61
- if (service !== "s3") {
62
- throw new Error("Expect 's3' in Accesspoint ARN service component");
63
- }
64
- };
65
- export var validateOutpostService = function (service) {
66
- if (service !== "s3-outposts") {
67
- throw new Error("Expect 's3-posts' in Outpost ARN service component");
68
- }
69
- };
70
- /**
71
- * Validate partition inferred from ARN is the same to `options.clientPartition`.
72
- * @internal
73
- */
74
- export var validatePartition = function (partition, options) {
75
- if (partition !== options.clientPartition) {
76
- throw new Error("Partition in ARN is incompatible, got \"" + partition + "\" but expected \"" + options.clientPartition + "\"");
77
- }
78
- };
79
- /**
80
- * validate region value inferred from ARN. If `options.useArnRegion` is set, it validates the region is not a FIPS
81
- * region. If `options.useArnRegion` is unset, it validates the region is equal to `options.clientRegion` or
82
- * `options.clientSigningRegion`.
83
- * @internal
84
- */
85
- export var validateRegion = function (region, options) {
86
- if (region === "") {
87
- throw new Error("ARN region is empty");
88
- }
89
- if (isFipsRegion(options.clientRegion)) {
90
- if (!options.allowFipsRegion) {
91
- throw new Error("FIPS region is not supported");
92
- }
93
- else if (!isEqualRegions(region, options.clientRegion)) {
94
- throw new Error("Client FIPS region " + options.clientRegion + " doesn't match region " + region + " in ARN");
95
- }
96
- }
97
- if (!options.useArnRegion &&
98
- !isEqualRegions(region, options.clientRegion || "") &&
99
- !isEqualRegions(region, options.clientSigningRegion || "")) {
100
- throw new Error("Region in ARN is incompatible, got " + region + " but expected " + options.clientRegion);
101
- }
102
- };
103
- /**
104
- *
105
- * @param region
106
- */
107
- export var validateRegionalClient = function (region) {
108
- if (["s3-external-1", "aws-global"].includes(getPseudoRegion(region))) {
109
- throw new Error("Client region " + region + " is not regional");
110
- }
111
- };
112
- /**
113
- * @internal
114
- */
115
- export var isFipsRegion = function (region) { return region.startsWith("fips-") || region.endsWith("-fips"); };
116
- var isEqualRegions = function (regionA, regionB) {
117
- return regionA === regionB || getPseudoRegion(regionA) === regionB || regionA === getPseudoRegion(regionB);
118
- };
119
- /**
120
- * Validate an account ID
121
- * @internal
122
- */
123
- export var validateAccountId = function (accountId) {
124
- if (!/[0-9]{12}/.exec(accountId)) {
125
- throw new Error("Access point ARN accountID does not match regex '[0-9]{12}'");
126
- }
127
- };
128
- /**
129
- * Validate a host label according to https://tools.ietf.org/html/rfc3986#section-3.2.2
130
- * @internal
131
- */
132
- export var validateDNSHostLabel = function (label, options) {
133
- if (options === void 0) { options = { tlsCompatible: true }; }
134
- // reference: https://tools.ietf.org/html/rfc3986#section-3.2.2
135
- if (label.length >= 64 ||
136
- !/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/.test(label) ||
137
- /(\d+\.){3}\d+/.test(label) ||
138
- /[.-]{2}/.test(label) ||
139
- ((options === null || options === void 0 ? void 0 : options.tlsCompatible) && DOT_PATTERN.test(label))) {
140
- throw new Error("Invalid DNS label " + label);
141
- }
142
- };
143
- export var validateCustomEndpoint = function (options) {
144
- if (options.isCustomEndpoint) {
145
- if (options.dualstackEndpoint)
146
- throw new Error("Dualstack endpoint is not supported with custom endpoint");
147
- if (options.accelerateEndpoint)
148
- throw new Error("Accelerate endpoint is not supported with custom endpoint");
149
- }
150
- };
151
- /**
152
- * Validate and parse an Access Point ARN or Outposts ARN
153
- * @internal
154
- *
155
- * @param resource - The resource section of an ARN
156
- * @returns Access Point Name and optional Outpost ID.
157
- */
158
- export var getArnResources = function (resource) {
159
- var delimiter = resource.includes(":") ? ":" : "/";
160
- var _a = __read(resource.split(delimiter)), resourceType = _a[0], rest = _a.slice(1);
161
- if (resourceType === "accesspoint") {
162
- // Parse accesspoint ARN
163
- if (rest.length !== 1 || rest[0] === "") {
164
- throw new Error("Access Point ARN should have one resource accesspoint" + delimiter + "{accesspointname}");
165
- }
166
- return { accesspointName: rest[0] };
167
- }
168
- else if (resourceType === "outpost") {
169
- // Parse outpost ARN
170
- if (!rest[0] || rest[1] !== "accesspoint" || !rest[2] || rest.length !== 3) {
171
- throw new Error("Outpost ARN should have resource outpost" + delimiter + "{outpostId}" + delimiter + "accesspoint" + delimiter + "{accesspointName}");
172
- }
173
- var _b = __read(rest, 3), outpostId = _b[0], _ = _b[1], accesspointName = _b[2];
174
- return { outpostId: outpostId, accesspointName: accesspointName };
175
- }
176
- else {
177
- throw new Error("ARN resource should begin with 'accesspoint" + delimiter + "' or 'outpost" + delimiter + "'");
178
- }
179
- };
180
- /**
181
- * Throw if dual stack configuration is set to true.
182
- * @internal
183
- */
184
- export var validateNoDualstack = function (dualstackEndpoint) {
185
- if (dualstackEndpoint)
186
- throw new Error("Dualstack endpoint is not supported with Outpost or Multi-region Access Point ARN.");
187
- };
188
- /**
189
- * Validate region is not appended or prepended with a `fips-`
190
- * @internal
191
- */
192
- export var validateNoFIPS = function (region) {
193
- if (isFipsRegion(region !== null && region !== void 0 ? region : ""))
194
- throw new Error("FIPS region is not supported with Outpost, got " + region);
195
- };
196
- /**
197
- * Validate the multi-region access point alias.
198
- * @private
199
- */
200
- export var validateMrapAlias = function (name) {
201
- try {
202
- name.split(".").forEach(function (label) {
203
- validateDNSHostLabel(label);
204
- });
205
- }
206
- catch (e) {
207
- throw new Error("\"" + name + "\" is not a DNS compatible name.");
208
- }
209
- };
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWVVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWNrZXRIb3N0bmFtZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxJQUFNLGNBQWMsR0FBRyxzQ0FBc0MsQ0FBQztBQUM5RCxJQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztBQUMzQyxJQUFNLFlBQVksR0FBRyxNQUFNLENBQUM7QUFDNUIsTUFBTSxDQUFDLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQztBQUNoQyxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRyw4QkFBOEIsQ0FBQztBQUNsRSxJQUFNLDRCQUE0QixHQUFHLG9DQUFvQyxDQUFDO0FBQzFFLElBQU0sb0JBQW9CLEdBQUcsZUFBZSxDQUFDO0FBeUI3QyxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRyxVQUNqQyxPQUFpRCxJQUNiLE9BQUEsT0FBTyxPQUFPLENBQUMsVUFBVSxLQUFLLFFBQVEsRUFBdEMsQ0FBc0MsQ0FBQztBQUU3RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxlQUFlLEdBQUcsVUFBQyxNQUFjLElBQUssT0FBQSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFuRSxDQUFtRSxDQUFDO0FBRXZIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsSUFBTSx5QkFBeUIsR0FBRyxVQUFDLFVBQWtCO0lBQzFELE9BQUEsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0FBQXpHLENBQXlHLENBQUM7QUFFNUcsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLFFB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dkM7U0FBTTtRQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQThDLFNBQVMscUJBQWdCLFNBQVMsTUFBRyxDQUFDLENBQUM7S0FDdEc7QUFDSCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRyxVQUFDLGlCQUEyQjtJQUM3RCxJQUFJLGlCQUFpQjtRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLG9GQUFvRixDQUFDLENBQUM7QUFDMUcsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sY0FBYyxHQUFHLFVBQUMsTUFBZTtJQUM1QyxJQUFJLFlBQVksQ0FBQyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxFQUFFLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFrRCxNQUFRLENBQUMsQ0FBQztBQUM5RyxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLElBQVk7SUFDNUMsSUFBSTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSztZQUM1QixvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztLQUNKO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLE9BQUksSUFBSSxxQ0FBaUMsQ0FBQyxDQUFDO0tBQzVEO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVJOIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtYXJuLXBhcnNlclwiO1xuXG5jb25zdCBET01BSU5fUEFUVEVSTiA9IC9eW2EtejAtOV1bYS16MC05XFwuXFwtXXsxLDYxfVthLXowLTldJC87XG5jb25zdCBJUF9BRERSRVNTX1BBVFRFUk4gPSAvKFxcZCtcXC4pezN9XFxkKy87XG5jb25zdCBET1RTX1BBVFRFUk4gPSAvXFwuXFwuLztcbmV4cG9ydCBjb25zdCBET1RfUEFUVEVSTiA9IC9cXC4vO1xuZXhwb3J0IGNvbnN0IFMzX0hPU1ROQU1FX1BBVFRFUk4gPSAvXiguK1xcLik/czNbLi1dKFthLXowLTktXSspXFwuLztcbmNvbnN0IFMzX1VTX0VBU1RfMV9BTFROQU1FX1BBVFRFUk4gPSAvXnMzKC1leHRlcm5hbC0xKT9cXC5hbWF6b25hd3NcXC5jb20kLztcbmNvbnN0IEFXU19QQVJUSVRJT05fU1VGRklYID0gXCJhbWF6b25hd3MuY29tXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjZXNzUG9pbnRBcm4gZXh0ZW5kcyBBUk4ge1xuICBhY2Nlc3NQb2ludE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRIb3N0bmFtZVBhcmFtcyB7XG4gIGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW47XG4gIGJhc2VIb3N0bmFtZTogc3RyaW5nO1xuICBidWNrZXROYW1lOiBzdHJpbmc7XG4gIGNsaWVudFJlZ2lvbjogc3RyaW5nO1xuICBhY2NlbGVyYXRlRW5kcG9pbnQ/OiBib29sZWFuO1xuICBkdWFsc3RhY2tFbmRwb2ludD86IGJvb2xlYW47XG4gIHBhdGhTdHlsZUVuZHBvaW50PzogYm9vbGVhbjtcbiAgdGxzQ29tcGF0aWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJuSG9zdG5hbWVQYXJhbXMgZXh0ZW5kcyBPbWl0PEJ1Y2tldEhvc3RuYW1lUGFyYW1zLCBcImJ1Y2tldE5hbWVcIj4ge1xuICBidWNrZXROYW1lOiBBUk47XG4gIGNsaWVudFNpZ25pbmdSZWdpb24/OiBzdHJpbmc7XG4gIGNsaWVudFBhcnRpdGlvbj86IHN0cmluZztcbiAgdXNlQXJuUmVnaW9uPzogYm9vbGVhbjtcbiAgZGlzYWJsZU11bHRpcmVnaW9uQWNjZXNzUG9pbnRzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGlzQnVja2V0TmFtZU9wdGlvbnMgPSAoXG4gIG9wdGlvbnM6IEJ1Y2tldEhvc3RuYW1lUGFyYW1zIHwgQXJuSG9zdG5hbWVQYXJhbXNcbik6IG9wdGlvbnMgaXMgQnVja2V0SG9zdG5hbWVQYXJhbXMgPT4gdHlwZW9mIG9wdGlvbnMuYnVja2V0TmFtZSA9PT0gXCJzdHJpbmdcIjtcblxuLyoqXG4gKiBHZXQgcHNldWRvIHJlZ2lvbiBmcm9tIHN1cHBsaWVkIHJlZ2lvbi4gRm9yIGV4YW1wbGUsIGlmIHN1cHBsaWVkIHdpdGggYGZpcHMtdXMtd2VzdC0yYCwgaXQgcmV0dXJucyBgdXMtd2VzdC0yYC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgZ2V0UHNldWRvUmVnaW9uID0gKHJlZ2lvbjogc3RyaW5nKSA9PiAoaXNGaXBzUmVnaW9uKHJlZ2lvbikgPyByZWdpb24ucmVwbGFjZSgvZmlwcy18LWZpcHMvLCBcIlwiKSA6IHJlZ2lvbik7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgZ2l2ZW4gc3RyaW5nIGlzIEROUyBjb21wbGlhbnQgcGVyIHRoZSBydWxlcyBvdXRsaW5lZCBieVxuICogUzMuIExlbmd0aCwgY2FwaXRhaXphdGlvbiwgYW5kIGxlYWRpbmcgZG90IHJlc3RyaWN0aW9ucyBhcmUgZW5mb3JjZWQgYnkgdGhlXG4gKiBET01BSU5fUEFUVEVSTiByZWd1bGFyIGV4cHJlc3Npb24uXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvZGV2L0J1Y2tldFJlc3RyaWN0aW9ucy5odG1sXG4gKi9cbmV4cG9ydCBjb25zdCBpc0Ruc0NvbXBhdGlibGVCdWNrZXROYW1lID0gKGJ1Y2tldE5hbWU6IHN0cmluZyk6IGJvb2xlYW4gPT5cbiAgRE9NQUlOX1BBVFRFUk4udGVzdChidWNrZXROYW1lKSAmJiAhSVBfQUREUkVTU19QQVRURVJOLnRlc3QoYnVja2V0TmFtZSkgJiYgIURPVFNfUEFUVEVSTi50ZXN0KGJ1Y2tldE5hbWUpO1xuXG5jb25zdCBnZXRSZWdpb25hbFN1ZmZpeCA9IChob3N0bmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSA9PiB7XG4gIGNvbnN0IHBhcnRzID0gaG9zdG5hbWUubWF0Y2goUzNfSE9TVE5BTUVfUEFUVEVSTikhO1xuICByZXR1cm4gW3BhcnRzWzJdLCBob3N0bmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoYF4ke3BhcnRzWzBdfWApLCBcIlwiKV07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3VmZml4ID0gKGhvc3RuYW1lOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddID0+XG4gIFMzX1VTX0VBU1RfMV9BTFROQU1FX1BBVFRFUk4udGVzdChob3N0bmFtZSkgPyBbXCJ1cy1lYXN0LTFcIiwgQVdTX1BBUlRJVElPTl9TVUZGSVhdIDogZ2V0UmVnaW9uYWxTdWZmaXgoaG9zdG5hbWUpO1xuXG4vKipcbiAqIEluZmVyIHJlZ2lvbiBhbmQgaG9zdG5hbWUgc3VmZml4IGZyb20gYSBjb21wbGV0ZSBob3N0bmFtZVxuICogQGludGVybmFsXG4gKiBAcGFyYW0gaG9zdG5hbWUgLSBIb3N0bmFtZVxuICogQHJldHVybnMgW1JlZ2lvbiwgSG9zdG5hbWUgc3VmZml4XVxuICovXG5leHBvcnQgY29uc3QgZ2V0U3VmZml4Rm9yQXJuRW5kcG9pbnQgPSAoaG9zdG5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10gPT5cbiAgUzNfVVNfRUFTVF8xX0FMVE5BTUVfUEFUVEVSTi50ZXN0KGhvc3RuYW1lKVxuICAgID8gW2hvc3RuYW1lLnJlcGxhY2UoYC4ke0FXU19QQVJUSVRJT05fU1VGRklYfWAsIFwiXCIpLCBBV1NfUEFSVElUSU9OX1NVRkZJWF1cbiAgICA6IGdldFJlZ2lvbmFsU3VmZml4KGhvc3RuYW1lKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlQXJuRW5kcG9pbnRPcHRpb25zID0gKG9wdGlvbnM6IHtcbiAgYWNjZWxlcmF0ZUVuZHBvaW50PzogYm9vbGVhbjtcbiAgdGxzQ29tcGF0aWJsZT86IGJvb2xlYW47XG4gIHBhdGhTdHlsZUVuZHBvaW50PzogYm9vbGVhbjtcbn0pID0+IHtcbiAgaWYgKG9wdGlvbnMucGF0aFN0eWxlRW5kcG9pbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXRoLXN0eWxlIFMzIGVuZHBvaW50IGlzIG5vdCBzdXBwb3J0ZWQgd2hlbiBidWNrZXQgaXMgYW4gQVJOXCIpO1xuICB9XG4gIGlmIChvcHRpb25zLmFjY2VsZXJhdGVFbmRwb2ludCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkFjY2VsZXJhdGUgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aGVuIGJ1Y2tldCBpcyBhbiBBUk5cIik7XG4gIH1cbiAgaWYgKCFvcHRpb25zLnRsc0NvbXBhdGlibGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJIVFRQUyBpcyByZXF1aXJlZCB3aGVuIGJ1Y2tldCBpcyBhbiBBUk5cIik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVNlcnZpY2UgPSAoc2VydmljZTogc3RyaW5nKSA9PiB7XG4gIGlmIChzZXJ2aWNlICE9PSBcInMzXCIgJiYgc2VydmljZSAhPT0gXCJzMy1vdXRwb3N0c1wiICYmIHNlcnZpY2UgIT09IFwiczMtb2JqZWN0LWxhbWJkYVwiKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ICdzMycgb3IgJ3MzLW91dHBvc3RzJyBvciAnczMtb2JqZWN0LWxhbWJkYScgaW4gQVJOIHNlcnZpY2UgY29tcG9uZW50XCIpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVTM1NlcnZpY2UgPSAoc2VydmljZTogc3RyaW5nKSA9PiB7XG4gIGlmIChzZXJ2aWNlICE9PSBcInMzXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3QgJ3MzJyBpbiBBY2Nlc3Nwb2ludCBBUk4gc2VydmljZSBjb21wb25lbnRcIik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZU91dHBvc3RTZXJ2aWNlID0gKHNlcnZpY2U6IHN0cmluZykgPT4ge1xuICBpZiAoc2VydmljZSAhPT0gXCJzMy1vdXRwb3N0c1wiKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ICdzMy1wb3N0cycgaW4gT3V0cG9zdCBBUk4gc2VydmljZSBjb21wb25lbnRcIik7XG4gIH1cbn07XG5cbi8qKlxuICogVmFsaWRhdGUgcGFydGl0aW9uIGluZmVycmVkIGZyb20gQVJOIGlzIHRoZSBzYW1lIHRvIGBvcHRpb25zLmNsaWVudFBhcnRpdGlvbmAuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUGFydGl0aW9uID0gKHBhcnRpdGlvbjogc3RyaW5nLCBvcHRpb25zOiB7IGNsaWVudFBhcnRpdGlvbjogc3RyaW5nIH0pID0+IHtcbiAgaWYgKHBhcnRpdGlvbiAhPT0gb3B0aW9ucy5jbGllbnRQYXJ0aXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBhcnRpdGlvbiBpbiBBUk4gaXMgaW5jb21wYXRpYmxlLCBnb3QgXCIke3BhcnRpdGlvbn1cIiBidXQgZXhwZWN0ZWQgXCIke29wdGlvbnMuY2xpZW50UGFydGl0aW9ufVwiYCk7XG4gIH1cbn07XG5cbi8qKlxuICogdmFsaWRhdGUgcmVnaW9uIHZhbHVlIGluZmVycmVkIGZyb20gQVJOLiBJZiBgb3B0aW9ucy51c2VBcm5SZWdpb25gIGlzIHNldCwgaXQgdmFsaWRhdGVzIHRoZSByZWdpb24gaXMgbm90IGEgRklQU1xuICogcmVnaW9uLiBJZiBgb3B0aW9ucy51c2VBcm5SZWdpb25gIGlzIHVuc2V0LCBpdCB2YWxpZGF0ZXMgdGhlIHJlZ2lvbiBpcyBlcXVhbCB0byBgb3B0aW9ucy5jbGllbnRSZWdpb25gIG9yXG4gKiBgb3B0aW9ucy5jbGllbnRTaWduaW5nUmVnaW9uYC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWdpb24gPSAoXG4gIHJlZ2lvbjogc3RyaW5nLFxuICBvcHRpb25zOiB7XG4gICAgdXNlQXJuUmVnaW9uPzogYm9vbGVhbjtcbiAgICBhbGxvd0ZpcHNSZWdpb24/OiBib29sZWFuO1xuICAgIGNsaWVudFJlZ2lvbjogc3RyaW5nO1xuICAgIGNsaWVudFNpZ25pbmdSZWdpb246IHN0cmluZztcbiAgfVxuKSA9PiB7XG4gIGlmIChyZWdpb24gPT09IFwiXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBUk4gcmVnaW9uIGlzIGVtcHR5XCIpO1xuICB9XG4gIGlmIChpc0ZpcHNSZWdpb24ob3B0aW9ucy5jbGllbnRSZWdpb24pKSB7XG4gICAgaWYgKCFvcHRpb25zLmFsbG93Rmlwc1JlZ2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRklQUyByZWdpb24gaXMgbm90IHN1cHBvcnRlZFwiKTtcbiAgICB9IGVsc2UgaWYgKCFpc0VxdWFsUmVnaW9ucyhyZWdpb24sIG9wdGlvbnMuY2xpZW50UmVnaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDbGllbnQgRklQUyByZWdpb24gJHtvcHRpb25zLmNsaWVudFJlZ2lvbn0gZG9lc24ndCBtYXRjaCByZWdpb24gJHtyZWdpb259IGluIEFSTmApO1xuICAgIH1cbiAgfVxuICBpZiAoXG4gICAgIW9wdGlvbnMudXNlQXJuUmVnaW9uICYmXG4gICAgIWlzRXF1YWxSZWdpb25zKHJlZ2lvbiwgb3B0aW9ucy5jbGllbnRSZWdpb24gfHwgXCJcIikgJiZcbiAgICAhaXNFcXVhbFJlZ2lvbnMocmVnaW9uLCBvcHRpb25zLmNsaWVudFNpZ25pbmdSZWdpb24gfHwgXCJcIilcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBSZWdpb24gaW4gQVJOIGlzIGluY29tcGF0aWJsZSwgZ290ICR7cmVnaW9ufSBidXQgZXhwZWN0ZWQgJHtvcHRpb25zLmNsaWVudFJlZ2lvbn1gKTtcbiAgfVxufTtcblxuLyoqXG4gKlxuICogQHBhcmFtIHJlZ2lvblxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWdpb25hbENsaWVudCA9IChyZWdpb246IHN0cmluZykgPT4ge1xuICBpZiAoW1wiczMtZXh0ZXJuYWwtMVwiLCBcImF3cy1nbG9iYWxcIl0uaW5jbHVkZXMoZ2V0UHNldWRvUmVnaW9uKHJlZ2lvbikpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDbGllbnQgcmVnaW9uICR7cmVnaW9ufSBpcyBub3QgcmVnaW9uYWxgKTtcbiAgfVxufTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRmlwc1JlZ2lvbiA9IChyZWdpb246IHN0cmluZykgPT4gcmVnaW9uLnN0YXJ0c1dpdGgoXCJmaXBzLVwiKSB8fCByZWdpb24uZW5kc1dpdGgoXCItZmlwc1wiKTtcblxuY29uc3QgaXNFcXVhbFJlZ2lvbnMgPSAocmVnaW9uQTogc3RyaW5nLCByZWdpb25COiBzdHJpbmcpID0+XG4gIHJlZ2lvbkEgPT09IHJlZ2lvbkIgfHwgZ2V0UHNldWRvUmVnaW9uKHJlZ2lvbkEpID09PSByZWdpb25CIHx8IHJlZ2lvbkEgPT09IGdldFBzZXVkb1JlZ2lvbihyZWdpb25CKTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBhbiBhY2NvdW50IElEXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlQWNjb3VudElkID0gKGFjY291bnRJZDogc3RyaW5nKSA9PiB7XG4gIGlmICghL1swLTldezEyfS8uZXhlYyhhY2NvdW50SWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQWNjZXNzIHBvaW50IEFSTiBhY2NvdW50SUQgZG9lcyBub3QgbWF0Y2ggcmVnZXggJ1swLTldezEyfSdcIik7XG4gIH1cbn07XG5cbi8qKlxuICogVmFsaWRhdGUgYSBob3N0IGxhYmVsIGFjY29yZGluZyB0byBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMi4yXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlRE5TSG9zdExhYmVsID0gKGxhYmVsOiBzdHJpbmcsIG9wdGlvbnM6IHsgdGxzQ29tcGF0aWJsZT86IGJvb2xlYW4gfSA9IHsgdGxzQ29tcGF0aWJsZTogdHJ1ZSB9KSA9PiB7XG4gIC8vIHJlZmVyZW5jZTogaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzM5ODYjc2VjdGlvbi0zLjIuMlxuICBpZiAoXG4gICAgbGFiZWwubGVuZ3RoID49IDY0IHx8XG4gICAgIS9eW2EtejAtOV1bYS16MC05Li1dKlthLXowLTldJC8udGVzdChsYWJlbCkgfHxcbiAgICAvKFxcZCtcXC4pezN9XFxkKy8udGVzdChsYWJlbCkgfHxcbiAgICAvWy4tXXsyfS8udGVzdChsYWJlbCkgfHxcbiAgICAob3B0aW9ucz8udGxzQ29tcGF0aWJsZSAmJiBET1RfUEFUVEVSTi50ZXN0KGxhYmVsKSlcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEROUyBsYWJlbCAke2xhYmVsfWApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVDdXN0b21FbmRwb2ludCA9IChvcHRpb25zOiB7XG4gIGlzQ3VzdG9tRW5kcG9pbnQ/OiBib29sZWFuO1xuICBkdWFsc3RhY2tFbmRwb2ludD86IGJvb2xlYW47XG4gIGFjY2VsZXJhdGVFbmRwb2ludD86IGJvb2xlYW47XG59KSA9PiB7XG4gIGlmIChvcHRpb25zLmlzQ3VzdG9tRW5kcG9pbnQpIHtcbiAgICBpZiAob3B0aW9ucy5kdWFsc3RhY2tFbmRwb2ludCkgdGhyb3cgbmV3IEVycm9yKFwiRHVhbHN0YWNrIGVuZHBvaW50IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjdXN0b20gZW5kcG9pbnRcIik7XG4gICAgaWYgKG9wdGlvbnMuYWNjZWxlcmF0ZUVuZHBvaW50KSB0aHJvdyBuZXcgRXJyb3IoXCJBY2NlbGVyYXRlIGVuZHBvaW50IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjdXN0b20gZW5kcG9pbnRcIik7XG4gIH1cbn07XG5cbi8qKlxuICogVmFsaWRhdGUgYW5kIHBhcnNlIGFuIEFjY2VzcyBQb2ludCBBUk4gb3IgT3V0cG9zdHMgQVJOXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBAcGFyYW0gcmVzb3VyY2UgLSBUaGUgcmVzb3VyY2Ugc2VjdGlvbiBvZiBhbiBBUk5cbiAqIEByZXR1cm5zIEFjY2VzcyBQb2ludCBOYW1lIGFuZCBvcHRpb25hbCBPdXRwb3N0IElELlxuICovXG5leHBvcnQgY29uc3QgZ2V0QXJuUmVzb3VyY2VzID0gKFxuICByZXNvdXJjZTogc3RyaW5nXG4pOiB7XG4gIGFjY2Vzc3BvaW50TmFtZTogc3RyaW5nO1xuICBvdXRwb3N0SWQ/OiBzdHJpbmc7XG59ID0+IHtcbiAgY29uc3QgZGVsaW1pdGVyID0gcmVzb3VyY2UuaW5jbHVkZXMoXCI6XCIpID8gXCI6XCIgOiBcIi9cIjtcbiAgY29uc3QgW3Jlc291cmNlVHlwZSwgLi4ucmVzdF0gPSByZXNvdXJjZS5zcGxpdChkZWxpbWl0ZXIpO1xuICBpZiAocmVzb3VyY2VUeXBlID09PSBcImFjY2Vzc3BvaW50XCIpIHtcbiAgICAvLyBQYXJzZSBhY2Nlc3Nwb2ludCBBUk5cbiAgICBpZiAocmVzdC5sZW5ndGggIT09IDEgfHwgcmVzdFswXSA9PT0gXCJcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBY2Nlc3MgUG9pbnQgQVJOIHNob3VsZCBoYXZlIG9uZSByZXNvdXJjZSBhY2Nlc3Nwb2ludCR7ZGVsaW1pdGVyfXthY2Nlc3Nwb2ludG5hbWV9YCk7XG4gICAgfVxuICAgIHJldHVybiB7IGFjY2Vzc3BvaW50TmFtZTogcmVzdFswXSB9O1xuICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gXCJvdXRwb3N0XCIpIHtcbiAgICAvLyBQYXJzZSBvdXRwb3N0IEFSTlxuICAgIGlmICghcmVzdFswXSB8fCByZXN0WzFdICE9PSBcImFjY2Vzc3BvaW50XCIgfHwgIXJlc3RbMl0gfHwgcmVzdC5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE91dHBvc3QgQVJOIHNob3VsZCBoYXZlIHJlc291cmNlIG91dHBvc3Qke2RlbGltaXRlcn17b3V0cG9zdElkfSR7ZGVsaW1pdGVyfWFjY2Vzc3BvaW50JHtkZWxpbWl0ZXJ9e2FjY2Vzc3BvaW50TmFtZX1gXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBbb3V0cG9zdElkLCBfLCBhY2Nlc3Nwb2ludE5hbWVdID0gcmVzdDtcbiAgICByZXR1cm4geyBvdXRwb3N0SWQsIGFjY2Vzc3BvaW50TmFtZSB9O1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgQVJOIHJlc291cmNlIHNob3VsZCBiZWdpbiB3aXRoICdhY2Nlc3Nwb2ludCR7ZGVsaW1pdGVyfScgb3IgJ291dHBvc3Qke2RlbGltaXRlcn0nYCk7XG4gIH1cbn07XG5cbi8qKlxuICogVGhyb3cgaWYgZHVhbCBzdGFjayBjb25maWd1cmF0aW9uIGlzIHNldCB0byB0cnVlLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZU5vRHVhbHN0YWNrID0gKGR1YWxzdGFja0VuZHBvaW50PzogYm9vbGVhbikgPT4ge1xuICBpZiAoZHVhbHN0YWNrRW5kcG9pbnQpXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRHVhbHN0YWNrIGVuZHBvaW50IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBPdXRwb3N0IG9yIE11bHRpLXJlZ2lvbiBBY2Nlc3MgUG9pbnQgQVJOLlwiKTtcbn07XG5cbi8qKlxuICogVmFsaWRhdGUgcmVnaW9uIGlzIG5vdCBhcHBlbmRlZCBvciBwcmVwZW5kZWQgd2l0aCBhIGBmaXBzLWBcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVOb0ZJUFMgPSAocmVnaW9uPzogc3RyaW5nKSA9PiB7XG4gIGlmIChpc0ZpcHNSZWdpb24ocmVnaW9uID8/IFwiXCIpKSB0aHJvdyBuZXcgRXJyb3IoYEZJUFMgcmVnaW9uIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBPdXRwb3N0LCBnb3QgJHtyZWdpb259YCk7XG59O1xuXG4vKipcbiAqIFZhbGlkYXRlIHRoZSBtdWx0aS1yZWdpb24gYWNjZXNzIHBvaW50IGFsaWFzLlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTXJhcEFsaWFzID0gKG5hbWU6IHN0cmluZykgPT4ge1xuICB0cnkge1xuICAgIG5hbWUuc3BsaXQoXCIuXCIpLmZvckVhY2goKGxhYmVsKSA9PiB7XG4gICAgICB2YWxpZGF0ZUROU0hvc3RMYWJlbChsYWJlbCk7XG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFwiJHtuYW1lfVwiIGlzIG5vdCBhIEROUyBjb21wYXRpYmxlIG5hbWUuYCk7XG4gIH1cbn07XG4iXX0=
@@ -1,59 +0,0 @@
1
- import { __assign } from "tslib";
2
- export function resolveBucketEndpointConfig(input) {
3
- var _a = input.bucketEndpoint, bucketEndpoint = _a === void 0 ? false : _a, _b = input.forcePathStyle, forcePathStyle = _b === void 0 ? false : _b, _c = input.useAccelerateEndpoint, useAccelerateEndpoint = _c === void 0 ? false : _c, _d = input.useDualstackEndpoint, useDualstackEndpoint = _d === void 0 ? false : _d, _e = input.useArnRegion, useArnRegion = _e === void 0 ? false : _e, _f = input.disableMultiregionAccessPoints, disableMultiregionAccessPoints = _f === void 0 ? false : _f;
4
- return __assign(__assign({}, input), { bucketEndpoint: bucketEndpoint, forcePathStyle: forcePathStyle, useAccelerateEndpoint: useAccelerateEndpoint, useDualstackEndpoint: useDualstackEndpoint, useArnRegion: typeof useArnRegion === "function" ? useArnRegion : function () { return Promise.resolve(useArnRegion); }, disableMultiregionAccessPoints: typeof disableMultiregionAccessPoints === "function"
5
- ? disableMultiregionAccessPoints
6
- : function () { return Promise.resolve(disableMultiregionAccessPoints); } });
7
- }
8
- export var NODE_USE_ARN_REGION_ENV_NAME = "AWS_S3_USE_ARN_REGION";
9
- export var NODE_USE_ARN_REGION_INI_NAME = "s3_use_arn_region";
10
- export var NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME = "AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS";
11
- export var NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME = "s3_disable_multiregion_access_points";
12
- /**
13
- * Config to load useArnRegion from environment variables and shared INI files
14
- *
15
- * @api private
16
- */
17
- export var NODE_USE_ARN_REGION_CONFIG_OPTIONS = {
18
- environmentVariableSelector: function (env) {
19
- if (!Object.prototype.hasOwnProperty.call(env, NODE_USE_ARN_REGION_ENV_NAME))
20
- return undefined;
21
- if (env[NODE_USE_ARN_REGION_ENV_NAME] === "true")
22
- return true;
23
- if (env[NODE_USE_ARN_REGION_ENV_NAME] === "false")
24
- return false;
25
- throw new Error("Cannot load env " + NODE_USE_ARN_REGION_ENV_NAME + ". Expected \"true\" or \"false\", got " + env[NODE_USE_ARN_REGION_ENV_NAME] + ".");
26
- },
27
- configFileSelector: function (profile) {
28
- if (!Object.prototype.hasOwnProperty.call(profile, NODE_USE_ARN_REGION_INI_NAME))
29
- return undefined;
30
- if (profile[NODE_USE_ARN_REGION_INI_NAME] === "true")
31
- return true;
32
- if (profile[NODE_USE_ARN_REGION_INI_NAME] === "false")
33
- return false;
34
- throw new Error("Cannot load shared config entry " + NODE_USE_ARN_REGION_INI_NAME + ". Expected \"true\" or \"false\", got " + profile[NODE_USE_ARN_REGION_INI_NAME] + ".");
35
- },
36
- default: false,
37
- };
38
- export var NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS = {
39
- environmentVariableSelector: function (env) {
40
- if (!Object.prototype.hasOwnProperty.call(env, NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME))
41
- return undefined;
42
- if (env[NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME] === "true")
43
- return true;
44
- if (env[NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME] === "false")
45
- return false;
46
- throw new Error("Cannot load env " + NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME + ". Expected \"true\" or \"false\", got " + env[NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME] + ".");
47
- },
48
- configFileSelector: function (profile) {
49
- if (!Object.prototype.hasOwnProperty.call(profile, NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME))
50
- return undefined;
51
- if (profile[NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME] === "true")
52
- return true;
53
- if (profile[NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME] === "false")
54
- return false;
55
- throw new Error("Cannot load shared config entry " + NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME + ". Expected \"true\" or \"false\", got " + profile[NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME] + ".");
56
- },
57
- default: false,
58
- };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQThFQSxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLEtBQXlEO0lBR3ZELElBQUEsS0FNRSxLQUFLLGVBTmUsRUFBdEIsY0FBYyxtQkFBRyxLQUFLLEtBQUEsRUFDdEIsS0FLRSxLQUFLLGVBTGUsRUFBdEIsY0FBYyxtQkFBRyxLQUFLLEtBQUEsRUFDdEIsS0FJRSxLQUFLLHNCQUpzQixFQUE3QixxQkFBcUIsbUJBQUcsS0FBSyxLQUFBLEVBQzdCLEtBR0UsS0FBSyxxQkFIcUIsRUFBNUIsb0JBQW9CLG1CQUFHLEtBQUssS0FBQSxFQUM1QixLQUVFLEtBQUssYUFGYSxFQUFwQixZQUFZLG1CQUFHLEtBQUssS0FBQSxFQUNwQixLQUNFLEtBQUssK0JBRCtCLEVBQXRDLDhCQUE4QixtQkFBRyxLQUFLLEtBQUEsQ0FDOUI7SUFDViw2QkFDSyxLQUFLLEtBQ1IsY0FBYyxnQkFBQSxFQUNkLGNBQWMsZ0JBQUEsRUFDZCxxQkFBcUIsdUJBQUEsRUFDckIsb0JBQW9CLHNCQUFBLEVBQ3BCLFlBQVksRUFBRSxPQUFPLFlBQVksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQTdCLENBQTZCLEVBQ3JHLDhCQUE4QixFQUM1QixPQUFPLDhCQUE4QixLQUFLLFVBQVU7WUFDbEQsQ0FBQyxDQUFDLDhCQUE4QjtZQUNoQyxDQUFDLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsRUFBL0MsQ0FBK0MsSUFDM0Q7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLElBQU0sNEJBQTRCLEdBQUcsdUJBQXVCLENBQUM7QUFDcEUsTUFBTSxDQUFDLElBQU0sNEJBQTRCLEdBQUcsbUJBQW1CLENBQUM7QUFFaEUsTUFBTSxDQUFDLElBQU0sOENBQThDLEdBQUcsMENBQTBDLENBQUM7QUFDekcsTUFBTSxDQUFDLElBQU0sOENBQThDLEdBQUcsc0NBQXNDLENBQUM7QUFFckc7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxJQUFNLGtDQUFrQyxHQUFtQztJQUNoRiwyQkFBMkIsRUFBRSxVQUFDLEdBQXNCO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDL0YsSUFBSSxHQUFHLENBQUMsNEJBQTRCLENBQUMsS0FBSyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDOUQsSUFBSSxHQUFHLENBQUMsNEJBQTRCLENBQUMsS0FBSyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDaEUsTUFBTSxJQUFJLEtBQUssQ0FDYixxQkFBbUIsNEJBQTRCLDhDQUFxQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsTUFBRyxDQUN6SCxDQUFDO0lBQ0osQ0FBQztJQUNELGtCQUFrQixFQUFFLFVBQUMsT0FBTztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSw0QkFBNEIsQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ25HLElBQUksT0FBTyxDQUFDLDRCQUE0QixDQUFDLEtBQUssTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xFLElBQUksT0FBTyxDQUFDLDRCQUE0QixDQUFDLEtBQUssT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQ2IscUNBQW1DLDRCQUE0Qiw4Q0FBcUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLE1BQUcsQ0FDN0ksQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSztDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxvREFBb0QsR0FBbUM7SUFDbEcsMkJBQTJCLEVBQUUsVUFBQyxHQUFzQjtRQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSw4Q0FBOEMsQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ2pILElBQUksR0FBRyxDQUFDLDhDQUE4QyxDQUFDLEtBQUssTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2hGLElBQUksR0FBRyxDQUFDLDhDQUE4QyxDQUFDLEtBQUssT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2xGLE1BQU0sSUFBSSxLQUFLLENBQ2IscUJBQW1CLDhDQUE4Qyw4Q0FBcUMsR0FBRyxDQUFDLDhDQUE4QyxDQUFDLE1BQUcsQ0FDN0osQ0FBQztJQUNKLENBQUM7SUFDRCxrQkFBa0IsRUFBRSxVQUFDLE9BQU87UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsOENBQThDLENBQUM7WUFDaEcsT0FBTyxTQUFTLENBQUM7UUFDbkIsSUFBSSxPQUFPLENBQUMsOENBQThDLENBQUMsS0FBSyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDcEYsSUFBSSxPQUFPLENBQUMsOENBQThDLENBQUMsS0FBSyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDdEYsTUFBTSxJQUFJLEtBQUssQ0FDYixxQ0FBbUMsOENBQThDLDhDQUFxQyxPQUFPLENBQUMsOENBQThDLENBQUMsTUFBRyxDQUNqTCxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvYWRlZENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gXCJAYXdzLXNkay9ub2RlLWNvbmZpZy1wcm92aWRlclwiO1xuaW1wb3J0IHsgUHJvdmlkZXIsIFJlZ2lvbkluZm9Qcm92aWRlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldEVuZHBvaW50SW5wdXRDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgcHJvdmlkZWQgZW5kcG9pbnQgYWRkcmVzc2VzIGFuIGluZGl2aWR1YWwgYnVja2V0LlxuICAgKi9cbiAgYnVja2V0RW5kcG9pbnQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSBwYXRoIHN0eWxlIFVSTHMgZm9yIFMzIG9iamVjdHMgKGUuZy4sIGh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS88YnVja2V0TmFtZT4vPGtleT4gaW5zdGVhZCBvZiBodHRwczovLzxidWNrZXROYW1lPi5zMy5hbWF6b25hd3MuY29tLzxrZXk+XG4gICAqL1xuICBmb3JjZVBhdGhTdHlsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVzZSB0aGUgUzMgVHJhbnNmZXIgQWNjZWxlcmF0aW9uIGVuZHBvaW50IGJ5IGRlZmF1bHRcbiAgICovXG4gIHVzZUFjY2VsZXJhdGVFbmRwb2ludD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGVzIElQdjYvSVB2NCBkdWFsc3RhY2sgZW5kcG9pbnQuIFdoZW4gYSBETlMgbG9va3VwIGlzIHBlcmZvcm1lZCBvbiBhbiBlbmRwb2ludCBvZiB0aGlzIHR5cGUsIGl0IHJldHVybnMgYW4g4oCcQeKAnVxuICAgKiByZWNvcmQgd2l0aCBhbiBJUHY0IGFkZHJlc3MgYW5kIGFuIOKAnEFBQUHigJ0gcmVjb3JkIHdpdGggYW4gSVB2NiBhZGRyZXNzLiBJbiBtb3N0IGNhc2VzIHRoZSBuZXR3b3JrIHN0YWNrIGluIHRoZVxuICAgKiBjbGllbnQgZW52aXJvbm1lbnQgd2lsbCBhdXRvbWF0aWNhbGx5IHByZWZlciB0aGUgQUFBQSByZWNvcmQgYW5kIG1ha2UgYSBjb25uZWN0aW9uIHVzaW5nIHRoZSBJUHY2IGFkZHJlc3MuIE5vdGUsXG4gICAqIGhvd2V2ZXIsIHRoYXQgY3VycmVudGx5IG9uIFdpbmRvd3MsIHRoZSBJUHY0IGFkZHJlc3Mgd2lsbCBiZSBwcmVmZXJyZWQuXG4gICAqL1xuICB1c2VEdWFsc3RhY2tFbmRwb2ludD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIG92ZXJyaWRlIHRoZSByZXF1ZXN0IHJlZ2lvbiB3aXRoIHRoZSByZWdpb24gaW5mZXJyZWQgZnJvbSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBBUk4uIERlZmF1bHRzIHRvIGZhbHNlXG4gICAqL1xuICB1c2VBcm5SZWdpb24/OiBib29sZWFuIHwgUHJvdmlkZXI8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHByZXZlbnQgU0RLIGZyb20gbWFraW5nIGNyb3NzLXJlZ2lvbiByZXF1ZXN0IHdoZW4gc3VwcGxpZWQgYnVja2V0IGlzIGEgbXVsdGktcmVnaW9uIGFjY2VzcyBwb2ludCBBUk4uXG4gICAqIERlZmF1bHRzIHRvIGZhbHNlXG4gICAqL1xuICBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHM/OiBib29sZWFuIHwgUHJvdmlkZXI8Ym9vbGVhbj47XG59XG5cbmludGVyZmFjZSBQcmV2aW91c2x5UmVzb2x2ZWQge1xuICBpc0N1c3RvbUVuZHBvaW50OiBib29sZWFuO1xuICByZWdpb246IFByb3ZpZGVyPHN0cmluZz47XG4gIHJlZ2lvbkluZm9Qcm92aWRlcjogUmVnaW9uSW5mb1Byb3ZpZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldEVuZHBvaW50UmVzb2x2ZWRDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgZW5kcG9pbnQgaXMgc3BlY2lmaWVkIGJ5IGNhbGxlci5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc0N1c3RvbUVuZHBvaW50OiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQnVja2V0RW5kcG9pbnRJbnB1dENvbmZpZy5idWNrZXRFbmRwb2ludH1cbiAgICovXG4gIGJ1Y2tldEVuZHBvaW50OiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQnVja2V0RW5kcG9pbnRJbnB1dENvbmZpZy5mb3JjZVBhdGhTdHlsZX1cbiAgICovXG4gIGZvcmNlUGF0aFN0eWxlOiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQnVja2V0RW5kcG9pbnRJbnB1dENvbmZpZy51c2VBY2NlbGVyYXRlRW5kcG9pbnR9XG4gICAqL1xuICB1c2VBY2NlbGVyYXRlRW5kcG9pbnQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBCdWNrZXRFbmRwb2ludElucHV0Q29uZmlnLnVzZUR1YWxzdGFja0VuZHBvaW50fVxuICAgKi9cbiAgdXNlRHVhbHN0YWNrRW5kcG9pbnQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBCdWNrZXRFbmRwb2ludElucHV0Q29uZmlnLnVzZUFyblJlZ2lvbn1cbiAgICovXG4gIHVzZUFyblJlZ2lvbjogUHJvdmlkZXI8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBSZWdpb25JbnB1dENvbmZpZy5yZWdpb259XG4gICAqL1xuICByZWdpb246IFByb3ZpZGVyPHN0cmluZz47XG4gIC8qKlxuICAgKiBGZXRjaCByZWxhdGVkIGhvc3RuYW1lLCBzaWduaW5nIG5hbWUgb3Igc2lnbmluZyByZWdpb24gd2l0aCBnaXZlbiByZWdpb24uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG4gIGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50czogUHJvdmlkZXI8Ym9vbGVhbj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQnVja2V0RW5kcG9pbnRDb25maWc8VD4oXG4gIGlucHV0OiBUICYgUHJldmlvdXNseVJlc29sdmVkICYgQnVja2V0RW5kcG9pbnRJbnB1dENvbmZpZ1xuKTogVCAmIEJ1Y2tldEVuZHBvaW50UmVzb2x2ZWRDb25maWcge1xuICBjb25zdCB7XG4gICAgYnVja2V0RW5kcG9pbnQgPSBmYWxzZSxcbiAgICBmb3JjZVBhdGhTdHlsZSA9IGZhbHNlLFxuICAgIHVzZUFjY2VsZXJhdGVFbmRwb2ludCA9IGZhbHNlLFxuICAgIHVzZUR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gICAgdXNlQXJuUmVnaW9uID0gZmFsc2UsXG4gICAgZGlzYWJsZU11bHRpcmVnaW9uQWNjZXNzUG9pbnRzID0gZmFsc2UsXG4gIH0gPSBpbnB1dDtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBidWNrZXRFbmRwb2ludCxcbiAgICBmb3JjZVBhdGhTdHlsZSxcbiAgICB1c2VBY2NlbGVyYXRlRW5kcG9pbnQsXG4gICAgdXNlRHVhbHN0YWNrRW5kcG9pbnQsXG4gICAgdXNlQXJuUmVnaW9uOiB0eXBlb2YgdXNlQXJuUmVnaW9uID09PSBcImZ1bmN0aW9uXCIgPyB1c2VBcm5SZWdpb24gOiAoKSA9PiBQcm9taXNlLnJlc29sdmUodXNlQXJuUmVnaW9uKSxcbiAgICBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHM6XG4gICAgICB0eXBlb2YgZGlzYWJsZU11bHRpcmVnaW9uQWNjZXNzUG9pbnRzID09PSBcImZ1bmN0aW9uXCJcbiAgICAgICAgPyBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHNcbiAgICAgICAgOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoZGlzYWJsZU11bHRpcmVnaW9uQWNjZXNzUG9pbnRzKSxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IE5PREVfVVNFX0FSTl9SRUdJT05fRU5WX05BTUUgPSBcIkFXU19TM19VU0VfQVJOX1JFR0lPTlwiO1xuZXhwb3J0IGNvbnN0IE5PREVfVVNFX0FSTl9SRUdJT05fSU5JX05BTUUgPSBcInMzX3VzZV9hcm5fcmVnaW9uXCI7XG5cbmV4cG9ydCBjb25zdCBOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0VOVl9OQU1FID0gXCJBV1NfUzNfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRTXCI7XG5leHBvcnQgY29uc3QgTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9JTklfTkFNRSA9IFwiczNfZGlzYWJsZV9tdWx0aXJlZ2lvbl9hY2Nlc3NfcG9pbnRzXCI7XG5cbi8qKlxuICogQ29uZmlnIHRvIGxvYWQgdXNlQXJuUmVnaW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZCBzaGFyZWQgSU5JIGZpbGVzXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBOT0RFX1VTRV9BUk5fUkVHSU9OX0NPTkZJR19PUFRJT05TOiBMb2FkZWRDb25maWdTZWxlY3RvcnM8Ym9vbGVhbj4gPSB7XG4gIGVudmlyb25tZW50VmFyaWFibGVTZWxlY3RvcjogKGVudjogTm9kZUpTLlByb2Nlc3NFbnYpID0+IHtcbiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbnYsIE5PREVfVVNFX0FSTl9SRUdJT05fRU5WX05BTUUpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChlbnZbTk9ERV9VU0VfQVJOX1JFR0lPTl9FTlZfTkFNRV0gPT09IFwidHJ1ZVwiKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoZW52W05PREVfVVNFX0FSTl9SRUdJT05fRU5WX05BTUVdID09PSBcImZhbHNlXCIpIHJldHVybiBmYWxzZTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ2Fubm90IGxvYWQgZW52ICR7Tk9ERV9VU0VfQVJOX1JFR0lPTl9FTlZfTkFNRX0uIEV4cGVjdGVkIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiwgZ290ICR7ZW52W05PREVfVVNFX0FSTl9SRUdJT05fRU5WX05BTUVdfS5gXG4gICAgKTtcbiAgfSxcbiAgY29uZmlnRmlsZVNlbGVjdG9yOiAocHJvZmlsZSkgPT4ge1xuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb2ZpbGUsIE5PREVfVVNFX0FSTl9SRUdJT05fSU5JX05BTUUpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9maWxlW05PREVfVVNFX0FSTl9SRUdJT05fSU5JX05BTUVdID09PSBcInRydWVcIikgcmV0dXJuIHRydWU7XG4gICAgaWYgKHByb2ZpbGVbTk9ERV9VU0VfQVJOX1JFR0lPTl9JTklfTkFNRV0gPT09IFwiZmFsc2VcIikgcmV0dXJuIGZhbHNlO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBDYW5ub3QgbG9hZCBzaGFyZWQgY29uZmlnIGVudHJ5ICR7Tk9ERV9VU0VfQVJOX1JFR0lPTl9JTklfTkFNRX0uIEV4cGVjdGVkIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiwgZ290ICR7cHJvZmlsZVtOT0RFX1VTRV9BUk5fUkVHSU9OX0lOSV9OQU1FXX0uYFxuICAgICk7XG4gIH0sXG4gIGRlZmF1bHQ6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNvbnN0IE5PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfQ09ORklHX09QVElPTlM6IExvYWRlZENvbmZpZ1NlbGVjdG9yczxib29sZWFuPiA9IHtcbiAgZW52aXJvbm1lbnRWYXJpYWJsZVNlbGVjdG9yOiAoZW52OiBOb2RlSlMuUHJvY2Vzc0VudikgPT4ge1xuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVudiwgTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9FTlZfTkFNRSkpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKGVudltOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0VOVl9OQU1FXSA9PT0gXCJ0cnVlXCIpIHJldHVybiB0cnVlO1xuICAgIGlmIChlbnZbTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9FTlZfTkFNRV0gPT09IFwiZmFsc2VcIikgcmV0dXJuIGZhbHNlO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBDYW5ub3QgbG9hZCBlbnYgJHtOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0VOVl9OQU1FfS4gRXhwZWN0ZWQgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLCBnb3QgJHtlbnZbTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9FTlZfTkFNRV19LmBcbiAgICApO1xuICB9LFxuICBjb25maWdGaWxlU2VsZWN0b3I6IChwcm9maWxlKSA9PiB7XG4gICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvZmlsZSwgTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9JTklfTkFNRSkpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9maWxlW05PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfSU5JX05BTUVdID09PSBcInRydWVcIikgcmV0dXJuIHRydWU7XG4gICAgaWYgKHByb2ZpbGVbTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9JTklfTkFNRV0gPT09IFwiZmFsc2VcIikgcmV0dXJuIGZhbHNlO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBDYW5ub3QgbG9hZCBzaGFyZWQgY29uZmlnIGVudHJ5ICR7Tk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9JTklfTkFNRX0uIEV4cGVjdGVkIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiwgZ290ICR7cHJvZmlsZVtOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0lOSV9OQU1FXX0uYFxuICAgICk7XG4gIH0sXG4gIGRlZmF1bHQ6IGZhbHNlLFxufTtcbiJdfQ==
package/dist/es/index.js DELETED
@@ -1,5 +0,0 @@
1
- export * from "./bucketEndpointMiddleware";
2
- export * from "./bucketHostname";
3
- export * from "./configurations";
4
- export { getArnResources, getPseudoRegion, getSuffixForArnEndpoint, validateOutpostService, validatePartition, validateAccountId, validateRegion, validateDNSHostLabel, validateNoDualstack, validateNoFIPS, } from "./bucketHostnameUtils";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsT0FBTyxFQUNMLGVBQWUsRUFDZixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idWNrZXRIb3N0bmFtZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcbmV4cG9ydCB7XG4gIGdldEFyblJlc291cmNlcyxcbiAgZ2V0UHNldWRvUmVnaW9uLFxuICBnZXRTdWZmaXhGb3JBcm5FbmRwb2ludCxcbiAgdmFsaWRhdGVPdXRwb3N0U2VydmljZSxcbiAgdmFsaWRhdGVQYXJ0aXRpb24sXG4gIHZhbGlkYXRlQWNjb3VudElkLFxuICB2YWxpZGF0ZVJlZ2lvbixcbiAgdmFsaWRhdGVETlNIb3N0TGFiZWwsXG4gIHZhbGlkYXRlTm9EdWFsc3RhY2ssXG4gIHZhbGlkYXRlTm9GSVBTLFxufSBmcm9tIFwiLi9idWNrZXRIb3N0bmFtZVV0aWxzXCI7XG4iXX0=