remove node_modules and .gitignore them
This commit is contained in:
-201
@@ -1,201 +0,0 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
# @smithy/middleware-endpoint
|
||||
|
||||
[](https://www.npmjs.com/package/@smithy/middleware-endpoint)
|
||||
[](https://www.npmjs.com/package/@smithy/middleware-endpoint)
|
||||
|
||||
> An internal package
|
||||
|
||||
## Usage
|
||||
|
||||
You probably shouldn't, at least directly.
|
||||
Generated
Vendored
-30
@@ -1,30 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createConfigValueProvider = void 0;
|
||||
const createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => {
|
||||
const configProvider = async () => {
|
||||
var _a;
|
||||
const configValue = (_a = config[configKey]) !== null && _a !== void 0 ? _a : config[canonicalEndpointParamKey];
|
||||
if (typeof configValue === "function") {
|
||||
return configValue();
|
||||
}
|
||||
return configValue;
|
||||
};
|
||||
if (configKey === "endpoint" || canonicalEndpointParamKey === "endpoint") {
|
||||
return async () => {
|
||||
const endpoint = await configProvider();
|
||||
if (endpoint && typeof endpoint === "object") {
|
||||
if ("url" in endpoint) {
|
||||
return endpoint.url.href;
|
||||
}
|
||||
if ("hostname" in endpoint) {
|
||||
const { protocol, hostname, port, path } = endpoint;
|
||||
return `${protocol}//${hostname}${port ? ":" + port : ""}${path}`;
|
||||
}
|
||||
}
|
||||
return endpoint;
|
||||
};
|
||||
}
|
||||
return configProvider;
|
||||
};
|
||||
exports.createConfigValueProvider = createConfigValueProvider;
|
||||
Generated
Vendored
-5
@@ -1,5 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getEndpointFromConfig = void 0;
|
||||
const getEndpointFromConfig = async (serviceId) => undefined;
|
||||
exports.getEndpointFromConfig = getEndpointFromConfig;
|
||||
Generated
Vendored
-7
@@ -1,7 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getEndpointFromConfig = void 0;
|
||||
const node_config_provider_1 = require("@smithy/node-config-provider");
|
||||
const getEndpointUrlConfig_1 = require("./getEndpointUrlConfig");
|
||||
const getEndpointFromConfig = async (serviceId) => (0, node_config_provider_1.loadConfig)((0, getEndpointUrlConfig_1.getEndpointUrlConfig)(serviceId))();
|
||||
exports.getEndpointFromConfig = getEndpointFromConfig;
|
||||
Generated
Vendored
-51
@@ -1,51 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.resolveParams = exports.getEndpointFromInstructions = void 0;
|
||||
const service_customizations_1 = require("../service-customizations");
|
||||
const createConfigValueProvider_1 = require("./createConfigValueProvider");
|
||||
const getEndpointFromConfig_1 = require("./getEndpointFromConfig");
|
||||
const toEndpointV1_1 = require("./toEndpointV1");
|
||||
const getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {
|
||||
if (!clientConfig.endpoint) {
|
||||
const endpointFromConfig = await (0, getEndpointFromConfig_1.getEndpointFromConfig)(clientConfig.serviceId || "");
|
||||
if (endpointFromConfig) {
|
||||
clientConfig.endpoint = () => Promise.resolve((0, toEndpointV1_1.toEndpointV1)(endpointFromConfig));
|
||||
}
|
||||
}
|
||||
const endpointParams = await (0, exports.resolveParams)(commandInput, instructionsSupplier, clientConfig);
|
||||
if (typeof clientConfig.endpointProvider !== "function") {
|
||||
throw new Error("config.endpointProvider is not set.");
|
||||
}
|
||||
const endpoint = clientConfig.endpointProvider(endpointParams, context);
|
||||
return endpoint;
|
||||
};
|
||||
exports.getEndpointFromInstructions = getEndpointFromInstructions;
|
||||
const resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {
|
||||
var _a;
|
||||
const endpointParams = {};
|
||||
const instructions = ((_a = instructionsSupplier === null || instructionsSupplier === void 0 ? void 0 : instructionsSupplier.getEndpointParameterInstructions) === null || _a === void 0 ? void 0 : _a.call(instructionsSupplier)) || {};
|
||||
for (const [name, instruction] of Object.entries(instructions)) {
|
||||
switch (instruction.type) {
|
||||
case "staticContextParams":
|
||||
endpointParams[name] = instruction.value;
|
||||
break;
|
||||
case "contextParams":
|
||||
endpointParams[name] = commandInput[instruction.name];
|
||||
break;
|
||||
case "clientContextParams":
|
||||
case "builtInParams":
|
||||
endpointParams[name] = await (0, createConfigValueProvider_1.createConfigValueProvider)(instruction.name, name, clientConfig)();
|
||||
break;
|
||||
default:
|
||||
throw new Error("Unrecognized endpoint parameter instruction: " + JSON.stringify(instruction));
|
||||
}
|
||||
}
|
||||
if (Object.keys(instructions).length === 0) {
|
||||
Object.assign(endpointParams, clientConfig);
|
||||
}
|
||||
if (String(clientConfig.serviceId).toLowerCase() === "s3") {
|
||||
await (0, service_customizations_1.resolveParamsForS3)(endpointParams);
|
||||
}
|
||||
return endpointParams;
|
||||
};
|
||||
exports.resolveParams = resolveParams;
|
||||
Generated
Vendored
-35
@@ -1,35 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getEndpointUrlConfig = void 0;
|
||||
const shared_ini_file_loader_1 = require("@smithy/shared-ini-file-loader");
|
||||
const ENV_ENDPOINT_URL = "AWS_ENDPOINT_URL";
|
||||
const CONFIG_ENDPOINT_URL = "endpoint_url";
|
||||
const getEndpointUrlConfig = (serviceId) => ({
|
||||
environmentVariableSelector: (env) => {
|
||||
const serviceSuffixParts = serviceId.split(" ").map((w) => w.toUpperCase());
|
||||
const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join("_")];
|
||||
if (serviceEndpointUrl)
|
||||
return serviceEndpointUrl;
|
||||
const endpointUrl = env[ENV_ENDPOINT_URL];
|
||||
if (endpointUrl)
|
||||
return endpointUrl;
|
||||
return undefined;
|
||||
},
|
||||
configFileSelector: (profile, config) => {
|
||||
if (config && profile.services) {
|
||||
const servicesSection = config[["services", profile.services].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];
|
||||
if (servicesSection) {
|
||||
const servicePrefixParts = serviceId.split(" ").map((w) => w.toLowerCase());
|
||||
const endpointUrl = servicesSection[[servicePrefixParts.join("_"), CONFIG_ENDPOINT_URL].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];
|
||||
if (endpointUrl)
|
||||
return endpointUrl;
|
||||
}
|
||||
}
|
||||
const endpointUrl = profile[CONFIG_ENDPOINT_URL];
|
||||
if (endpointUrl)
|
||||
return endpointUrl;
|
||||
return undefined;
|
||||
},
|
||||
default: undefined,
|
||||
});
|
||||
exports.getEndpointUrlConfig = getEndpointUrlConfig;
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const tslib_1 = require("tslib");
|
||||
tslib_1.__exportStar(require("./getEndpointFromInstructions"), exports);
|
||||
tslib_1.__exportStar(require("./toEndpointV1"), exports);
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.toEndpointV1 = void 0;
|
||||
const url_parser_1 = require("@smithy/url-parser");
|
||||
const toEndpointV1 = (endpoint) => {
|
||||
if (typeof endpoint === "object") {
|
||||
if ("url" in endpoint) {
|
||||
return (0, url_parser_1.parseUrl)(endpoint.url);
|
||||
}
|
||||
return endpoint;
|
||||
}
|
||||
return (0, url_parser_1.parseUrl)(endpoint);
|
||||
};
|
||||
exports.toEndpointV1 = toEndpointV1;
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.endpointMiddleware = void 0;
|
||||
const util_middleware_1 = require("@smithy/util-middleware");
|
||||
const getEndpointFromInstructions_1 = require("./adaptors/getEndpointFromInstructions");
|
||||
const endpointMiddleware = ({ config, instructions, }) => {
|
||||
return (next, context) => async (args) => {
|
||||
var _a, _b, _c;
|
||||
const endpoint = await (0, getEndpointFromInstructions_1.getEndpointFromInstructions)(args.input, {
|
||||
getEndpointParameterInstructions() {
|
||||
return instructions;
|
||||
},
|
||||
}, { ...config }, context);
|
||||
context.endpointV2 = endpoint;
|
||||
context.authSchemes = (_a = endpoint.properties) === null || _a === void 0 ? void 0 : _a.authSchemes;
|
||||
const authScheme = (_b = context.authSchemes) === null || _b === void 0 ? void 0 : _b[0];
|
||||
if (authScheme) {
|
||||
context["signing_region"] = authScheme.signingRegion;
|
||||
context["signing_service"] = authScheme.signingName;
|
||||
const smithyContext = (0, util_middleware_1.getSmithyContext)(context);
|
||||
const httpAuthOption = (_c = smithyContext === null || smithyContext === void 0 ? void 0 : smithyContext.selectedHttpAuthScheme) === null || _c === void 0 ? void 0 : _c.httpAuthOption;
|
||||
if (httpAuthOption) {
|
||||
httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {
|
||||
signing_region: authScheme.signingRegion,
|
||||
signingRegion: authScheme.signingRegion,
|
||||
signing_service: authScheme.signingName,
|
||||
signingName: authScheme.signingName,
|
||||
signingRegionSet: authScheme.signingRegionSet,
|
||||
}, authScheme.properties);
|
||||
}
|
||||
}
|
||||
return next({
|
||||
...args,
|
||||
});
|
||||
};
|
||||
};
|
||||
exports.endpointMiddleware = endpointMiddleware;
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getEndpointPlugin = exports.endpointMiddlewareOptions = void 0;
|
||||
const middleware_serde_1 = require("@smithy/middleware-serde");
|
||||
const endpointMiddleware_1 = require("./endpointMiddleware");
|
||||
exports.endpointMiddlewareOptions = {
|
||||
step: "serialize",
|
||||
tags: ["ENDPOINT_PARAMETERS", "ENDPOINT_V2", "ENDPOINT"],
|
||||
name: "endpointV2Middleware",
|
||||
override: true,
|
||||
relation: "before",
|
||||
toMiddleware: middleware_serde_1.serializerMiddlewareOption.name,
|
||||
};
|
||||
const getEndpointPlugin = (config, instructions) => ({
|
||||
applyToStack: (clientStack) => {
|
||||
clientStack.addRelativeTo((0, endpointMiddleware_1.endpointMiddleware)({
|
||||
config,
|
||||
instructions,
|
||||
}), exports.endpointMiddlewareOptions);
|
||||
},
|
||||
});
|
||||
exports.getEndpointPlugin = getEndpointPlugin;
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const tslib_1 = require("tslib");
|
||||
tslib_1.__exportStar(require("./adaptors"), exports);
|
||||
tslib_1.__exportStar(require("./endpointMiddleware"), exports);
|
||||
tslib_1.__exportStar(require("./getEndpointPlugin"), exports);
|
||||
tslib_1.__exportStar(require("./resolveEndpointConfig"), exports);
|
||||
tslib_1.__exportStar(require("./types"), exports);
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.resolveEndpointConfig = void 0;
|
||||
const util_middleware_1 = require("@smithy/util-middleware");
|
||||
const toEndpointV1_1 = require("./adaptors/toEndpointV1");
|
||||
const resolveEndpointConfig = (input) => {
|
||||
var _a, _b, _c;
|
||||
const tls = (_a = input.tls) !== null && _a !== void 0 ? _a : true;
|
||||
const { endpoint } = input;
|
||||
const customEndpointProvider = endpoint != null ? async () => (0, toEndpointV1_1.toEndpointV1)(await (0, util_middleware_1.normalizeProvider)(endpoint)()) : undefined;
|
||||
const isCustomEndpoint = !!endpoint;
|
||||
return {
|
||||
...input,
|
||||
endpoint: customEndpointProvider,
|
||||
tls,
|
||||
isCustomEndpoint,
|
||||
useDualstackEndpoint: (0, util_middleware_1.normalizeProvider)((_b = input.useDualstackEndpoint) !== null && _b !== void 0 ? _b : false),
|
||||
useFipsEndpoint: (0, util_middleware_1.normalizeProvider)((_c = input.useFipsEndpoint) !== null && _c !== void 0 ? _c : false),
|
||||
};
|
||||
};
|
||||
exports.resolveEndpointConfig = resolveEndpointConfig;
|
||||
Generated
Vendored
-4
@@ -1,4 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const tslib_1 = require("tslib");
|
||||
tslib_1.__exportStar(require("./s3"), exports);
|
||||
-43
@@ -1,43 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.isArnBucketName = exports.isDnsCompatibleBucketName = exports.S3_HOSTNAME_PATTERN = exports.DOT_PATTERN = exports.resolveParamsForS3 = void 0;
|
||||
const resolveParamsForS3 = async (endpointParams) => {
|
||||
const bucket = (endpointParams === null || endpointParams === void 0 ? void 0 : endpointParams.Bucket) || "";
|
||||
if (typeof endpointParams.Bucket === "string") {
|
||||
endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent("#")).replace(/\?/g, encodeURIComponent("?"));
|
||||
}
|
||||
if ((0, exports.isArnBucketName)(bucket)) {
|
||||
if (endpointParams.ForcePathStyle === true) {
|
||||
throw new Error("Path-style addressing cannot be used with ARN buckets");
|
||||
}
|
||||
}
|
||||
else if (!(0, exports.isDnsCompatibleBucketName)(bucket) ||
|
||||
(bucket.indexOf(".") !== -1 && !String(endpointParams.Endpoint).startsWith("http:")) ||
|
||||
bucket.toLowerCase() !== bucket ||
|
||||
bucket.length < 3) {
|
||||
endpointParams.ForcePathStyle = true;
|
||||
}
|
||||
if (endpointParams.DisableMultiRegionAccessPoints) {
|
||||
endpointParams.disableMultiRegionAccessPoints = true;
|
||||
endpointParams.DisableMRAP = true;
|
||||
}
|
||||
return endpointParams;
|
||||
};
|
||||
exports.resolveParamsForS3 = resolveParamsForS3;
|
||||
const DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/;
|
||||
const IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/;
|
||||
const DOTS_PATTERN = /\.\./;
|
||||
exports.DOT_PATTERN = /\./;
|
||||
exports.S3_HOSTNAME_PATTERN = /^(.+\.)?s3(-fips)?(\.dualstack)?[.-]([a-z0-9-]+)\./;
|
||||
const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);
|
||||
exports.isDnsCompatibleBucketName = isDnsCompatibleBucketName;
|
||||
const isArnBucketName = (bucketName) => {
|
||||
const [arn, partition, service, region, account, typeOrId] = bucketName.split(":");
|
||||
const isArn = arn === "arn" && bucketName.split(":").length >= 6;
|
||||
const isValidArn = [arn, partition, service, account, typeOrId].filter(Boolean).length === 5;
|
||||
if (isArn && !isValidArn) {
|
||||
throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);
|
||||
}
|
||||
return arn === "arn" && !!partition && !!service && !!account && !!typeOrId;
|
||||
};
|
||||
exports.isArnBucketName = isArnBucketName;
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
Generated
Vendored
-25
@@ -1,25 +0,0 @@
|
||||
export const createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => {
|
||||
const configProvider = async () => {
|
||||
const configValue = config[configKey] ?? config[canonicalEndpointParamKey];
|
||||
if (typeof configValue === "function") {
|
||||
return configValue();
|
||||
}
|
||||
return configValue;
|
||||
};
|
||||
if (configKey === "endpoint" || canonicalEndpointParamKey === "endpoint") {
|
||||
return async () => {
|
||||
const endpoint = await configProvider();
|
||||
if (endpoint && typeof endpoint === "object") {
|
||||
if ("url" in endpoint) {
|
||||
return endpoint.url.href;
|
||||
}
|
||||
if ("hostname" in endpoint) {
|
||||
const { protocol, hostname, port, path } = endpoint;
|
||||
return `${protocol}//${hostname}${port ? ":" + port : ""}${path}`;
|
||||
}
|
||||
}
|
||||
return endpoint;
|
||||
};
|
||||
}
|
||||
return configProvider;
|
||||
};
|
||||
Generated
Vendored
-1
@@ -1 +0,0 @@
|
||||
export const getEndpointFromConfig = async (serviceId) => undefined;
|
||||
Generated
Vendored
-3
@@ -1,3 +0,0 @@
|
||||
import { loadConfig } from "@smithy/node-config-provider";
|
||||
import { getEndpointUrlConfig } from "./getEndpointUrlConfig";
|
||||
export const getEndpointFromConfig = async (serviceId) => loadConfig(getEndpointUrlConfig(serviceId))();
|
||||
Generated
Vendored
-45
@@ -1,45 +0,0 @@
|
||||
import { resolveParamsForS3 } from "../service-customizations";
|
||||
import { createConfigValueProvider } from "./createConfigValueProvider";
|
||||
import { getEndpointFromConfig } from "./getEndpointFromConfig";
|
||||
import { toEndpointV1 } from "./toEndpointV1";
|
||||
export const getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {
|
||||
if (!clientConfig.endpoint) {
|
||||
const endpointFromConfig = await getEndpointFromConfig(clientConfig.serviceId || "");
|
||||
if (endpointFromConfig) {
|
||||
clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));
|
||||
}
|
||||
}
|
||||
const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);
|
||||
if (typeof clientConfig.endpointProvider !== "function") {
|
||||
throw new Error("config.endpointProvider is not set.");
|
||||
}
|
||||
const endpoint = clientConfig.endpointProvider(endpointParams, context);
|
||||
return endpoint;
|
||||
};
|
||||
export const resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {
|
||||
const endpointParams = {};
|
||||
const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};
|
||||
for (const [name, instruction] of Object.entries(instructions)) {
|
||||
switch (instruction.type) {
|
||||
case "staticContextParams":
|
||||
endpointParams[name] = instruction.value;
|
||||
break;
|
||||
case "contextParams":
|
||||
endpointParams[name] = commandInput[instruction.name];
|
||||
break;
|
||||
case "clientContextParams":
|
||||
case "builtInParams":
|
||||
endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig)();
|
||||
break;
|
||||
default:
|
||||
throw new Error("Unrecognized endpoint parameter instruction: " + JSON.stringify(instruction));
|
||||
}
|
||||
}
|
||||
if (Object.keys(instructions).length === 0) {
|
||||
Object.assign(endpointParams, clientConfig);
|
||||
}
|
||||
if (String(clientConfig.serviceId).toLowerCase() === "s3") {
|
||||
await resolveParamsForS3(endpointParams);
|
||||
}
|
||||
return endpointParams;
|
||||
};
|
||||
Generated
Vendored
-31
@@ -1,31 +0,0 @@
|
||||
import { CONFIG_PREFIX_SEPARATOR } from "@smithy/shared-ini-file-loader";
|
||||
const ENV_ENDPOINT_URL = "AWS_ENDPOINT_URL";
|
||||
const CONFIG_ENDPOINT_URL = "endpoint_url";
|
||||
export const getEndpointUrlConfig = (serviceId) => ({
|
||||
environmentVariableSelector: (env) => {
|
||||
const serviceSuffixParts = serviceId.split(" ").map((w) => w.toUpperCase());
|
||||
const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join("_")];
|
||||
if (serviceEndpointUrl)
|
||||
return serviceEndpointUrl;
|
||||
const endpointUrl = env[ENV_ENDPOINT_URL];
|
||||
if (endpointUrl)
|
||||
return endpointUrl;
|
||||
return undefined;
|
||||
},
|
||||
configFileSelector: (profile, config) => {
|
||||
if (config && profile.services) {
|
||||
const servicesSection = config[["services", profile.services].join(CONFIG_PREFIX_SEPARATOR)];
|
||||
if (servicesSection) {
|
||||
const servicePrefixParts = serviceId.split(" ").map((w) => w.toLowerCase());
|
||||
const endpointUrl = servicesSection[[servicePrefixParts.join("_"), CONFIG_ENDPOINT_URL].join(CONFIG_PREFIX_SEPARATOR)];
|
||||
if (endpointUrl)
|
||||
return endpointUrl;
|
||||
}
|
||||
}
|
||||
const endpointUrl = profile[CONFIG_ENDPOINT_URL];
|
||||
if (endpointUrl)
|
||||
return endpointUrl;
|
||||
return undefined;
|
||||
},
|
||||
default: undefined,
|
||||
});
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
export * from "./getEndpointFromInstructions";
|
||||
export * from "./toEndpointV1";
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
import { parseUrl } from "@smithy/url-parser";
|
||||
export const toEndpointV1 = (endpoint) => {
|
||||
if (typeof endpoint === "object") {
|
||||
if ("url" in endpoint) {
|
||||
return parseUrl(endpoint.url);
|
||||
}
|
||||
return endpoint;
|
||||
}
|
||||
return parseUrl(endpoint);
|
||||
};
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
import { getSmithyContext } from "@smithy/util-middleware";
|
||||
import { getEndpointFromInstructions } from "./adaptors/getEndpointFromInstructions";
|
||||
export const endpointMiddleware = ({ config, instructions, }) => {
|
||||
return (next, context) => async (args) => {
|
||||
const endpoint = await getEndpointFromInstructions(args.input, {
|
||||
getEndpointParameterInstructions() {
|
||||
return instructions;
|
||||
},
|
||||
}, { ...config }, context);
|
||||
context.endpointV2 = endpoint;
|
||||
context.authSchemes = endpoint.properties?.authSchemes;
|
||||
const authScheme = context.authSchemes?.[0];
|
||||
if (authScheme) {
|
||||
context["signing_region"] = authScheme.signingRegion;
|
||||
context["signing_service"] = authScheme.signingName;
|
||||
const smithyContext = getSmithyContext(context);
|
||||
const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;
|
||||
if (httpAuthOption) {
|
||||
httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {
|
||||
signing_region: authScheme.signingRegion,
|
||||
signingRegion: authScheme.signingRegion,
|
||||
signing_service: authScheme.signingName,
|
||||
signingName: authScheme.signingName,
|
||||
signingRegionSet: authScheme.signingRegionSet,
|
||||
}, authScheme.properties);
|
||||
}
|
||||
}
|
||||
return next({
|
||||
...args,
|
||||
});
|
||||
};
|
||||
};
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
import { serializerMiddlewareOption } from "@smithy/middleware-serde";
|
||||
import { endpointMiddleware } from "./endpointMiddleware";
|
||||
export const endpointMiddlewareOptions = {
|
||||
step: "serialize",
|
||||
tags: ["ENDPOINT_PARAMETERS", "ENDPOINT_V2", "ENDPOINT"],
|
||||
name: "endpointV2Middleware",
|
||||
override: true,
|
||||
relation: "before",
|
||||
toMiddleware: serializerMiddlewareOption.name,
|
||||
};
|
||||
export const getEndpointPlugin = (config, instructions) => ({
|
||||
applyToStack: (clientStack) => {
|
||||
clientStack.addRelativeTo(endpointMiddleware({
|
||||
config,
|
||||
instructions,
|
||||
}), endpointMiddlewareOptions);
|
||||
},
|
||||
});
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
export * from "./adaptors";
|
||||
export * from "./endpointMiddleware";
|
||||
export * from "./getEndpointPlugin";
|
||||
export * from "./resolveEndpointConfig";
|
||||
export * from "./types";
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
import { normalizeProvider } from "@smithy/util-middleware";
|
||||
import { toEndpointV1 } from "./adaptors/toEndpointV1";
|
||||
export const resolveEndpointConfig = (input) => {
|
||||
const tls = input.tls ?? true;
|
||||
const { endpoint } = input;
|
||||
const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : undefined;
|
||||
const isCustomEndpoint = !!endpoint;
|
||||
return {
|
||||
...input,
|
||||
endpoint: customEndpointProvider,
|
||||
tls,
|
||||
isCustomEndpoint,
|
||||
useDualstackEndpoint: normalizeProvider(input.useDualstackEndpoint ?? false),
|
||||
useFipsEndpoint: normalizeProvider(input.useFipsEndpoint ?? false),
|
||||
};
|
||||
};
|
||||
-1
@@ -1 +0,0 @@
|
||||
export * from "./s3";
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
export const resolveParamsForS3 = async (endpointParams) => {
|
||||
const bucket = endpointParams?.Bucket || "";
|
||||
if (typeof endpointParams.Bucket === "string") {
|
||||
endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent("#")).replace(/\?/g, encodeURIComponent("?"));
|
||||
}
|
||||
if (isArnBucketName(bucket)) {
|
||||
if (endpointParams.ForcePathStyle === true) {
|
||||
throw new Error("Path-style addressing cannot be used with ARN buckets");
|
||||
}
|
||||
}
|
||||
else if (!isDnsCompatibleBucketName(bucket) ||
|
||||
(bucket.indexOf(".") !== -1 && !String(endpointParams.Endpoint).startsWith("http:")) ||
|
||||
bucket.toLowerCase() !== bucket ||
|
||||
bucket.length < 3) {
|
||||
endpointParams.ForcePathStyle = true;
|
||||
}
|
||||
if (endpointParams.DisableMultiRegionAccessPoints) {
|
||||
endpointParams.disableMultiRegionAccessPoints = true;
|
||||
endpointParams.DisableMRAP = true;
|
||||
}
|
||||
return endpointParams;
|
||||
};
|
||||
const DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/;
|
||||
const IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/;
|
||||
const DOTS_PATTERN = /\.\./;
|
||||
export const DOT_PATTERN = /\./;
|
||||
export const S3_HOSTNAME_PATTERN = /^(.+\.)?s3(-fips)?(\.dualstack)?[.-]([a-z0-9-]+)\./;
|
||||
export const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);
|
||||
export const isArnBucketName = (bucketName) => {
|
||||
const [arn, partition, service, region, account, typeOrId] = bucketName.split(":");
|
||||
const isArn = arn === "arn" && bucketName.split(":").length >= 6;
|
||||
const isValidArn = [arn, partition, service, account, typeOrId].filter(Boolean).length === 5;
|
||||
if (isArn && !isValidArn) {
|
||||
throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);
|
||||
}
|
||||
return arn === "arn" && !!partition && !!service && !!account && !!typeOrId;
|
||||
};
|
||||
-1
@@ -1 +0,0 @@
|
||||
export {};
|
||||
Generated
Vendored
-13
@@ -1,13 +0,0 @@
|
||||
/**
|
||||
* Normalize some key of the client config to an async provider.
|
||||
* @internal
|
||||
*
|
||||
* @param configKey - the key to look up in config.
|
||||
* @param canonicalEndpointParamKey - this is the name the EndpointRuleSet uses.
|
||||
* it will most likely not contain the config
|
||||
* value, but we use it as a fallback.
|
||||
* @param config - container of the config values.
|
||||
*
|
||||
* @returns async function that will resolve with the value.
|
||||
*/
|
||||
export declare const createConfigValueProvider: <Config extends Record<string, unknown>>(configKey: string, canonicalEndpointParamKey: string, config: Config) => () => Promise<any>;
|
||||
Generated
Vendored
-1
@@ -1 +0,0 @@
|
||||
export declare const getEndpointFromConfig: (serviceId: string) => Promise<undefined>;
|
||||
Generated
Vendored
-1
@@ -1 +0,0 @@
|
||||
export declare const getEndpointFromConfig: (serviceId: string) => Promise<string | undefined>;
|
||||
Generated
Vendored
-28
@@ -1,28 +0,0 @@
|
||||
import { EndpointParameters, EndpointV2, HandlerExecutionContext } from "@smithy/types";
|
||||
import { EndpointResolvedConfig } from "../resolveEndpointConfig";
|
||||
import { EndpointParameterInstructions } from "../types";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export type EndpointParameterInstructionsSupplier = Partial<{
|
||||
getEndpointParameterInstructions(): EndpointParameterInstructions;
|
||||
}>;
|
||||
/**
|
||||
* This step in the endpoint resolution process is exposed as a function
|
||||
* to allow packages such as signers, lib-upload, etc. to get
|
||||
* the V2 Endpoint associated to an instance of some api operation command
|
||||
* without needing to send it or resolve its middleware stack.
|
||||
*
|
||||
* @internal
|
||||
* @param commandInput - the input of the Command in question.
|
||||
* @param instructionsSupplier - this is typically a Command constructor. A static function supplying the
|
||||
* endpoint parameter instructions will exist for commands in services
|
||||
* having an endpoints ruleset trait.
|
||||
* @param clientConfig - config of the service client.
|
||||
* @param context - optional context.
|
||||
*/
|
||||
export declare const getEndpointFromInstructions: <T extends EndpointParameters, CommandInput extends Record<string, unknown>, Config extends Record<string, unknown>>(commandInput: CommandInput, instructionsSupplier: EndpointParameterInstructionsSupplier, clientConfig: Partial<EndpointResolvedConfig<T>> & Config, context?: HandlerExecutionContext) => Promise<EndpointV2>;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const resolveParams: <T extends EndpointParameters, CommandInput extends Record<string, unknown>, Config extends Record<string, unknown>>(commandInput: CommandInput, instructionsSupplier: EndpointParameterInstructionsSupplier, clientConfig: Partial<EndpointResolvedConfig<T>> & Config) => Promise<EndpointParameters>;
|
||||
Generated
Vendored
-2
@@ -1,2 +0,0 @@
|
||||
import { LoadedConfigSelectors } from "@smithy/node-config-provider";
|
||||
export declare const getEndpointUrlConfig: (serviceId: string) => LoadedConfigSelectors<string | undefined>;
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./getEndpointFromInstructions";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./toEndpointV1";
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
import { Endpoint, EndpointV2 } from "@smithy/types";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const toEndpointV1: (endpoint: string | Endpoint | EndpointV2) => Endpoint;
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
import { EndpointParameters, SerializeMiddleware } from "@smithy/types";
|
||||
import { EndpointResolvedConfig } from "./resolveEndpointConfig";
|
||||
import { EndpointParameterInstructions } from "./types";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const endpointMiddleware: <T extends EndpointParameters>({ config, instructions, }: {
|
||||
config: EndpointResolvedConfig<T>;
|
||||
instructions: EndpointParameterInstructions;
|
||||
}) => SerializeMiddleware<any, any>;
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
import { EndpointParameters, Pluggable, RelativeMiddlewareOptions, SerializeHandlerOptions } from "@smithy/types";
|
||||
import { EndpointResolvedConfig } from "./resolveEndpointConfig";
|
||||
import { EndpointParameterInstructions } from "./types";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const endpointMiddlewareOptions: SerializeHandlerOptions & RelativeMiddlewareOptions;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const getEndpointPlugin: <T extends EndpointParameters>(config: EndpointResolvedConfig<T>, instructions: EndpointParameterInstructions) => Pluggable<any, any>;
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./adaptors";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./endpointMiddleware";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./getEndpointPlugin";
|
||||
export * from "./resolveEndpointConfig";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./types";
|
||||
-93
@@ -1,93 +0,0 @@
|
||||
import { Endpoint, EndpointParameters, EndpointV2, Logger, Provider, UrlParser } from "@smithy/types";
|
||||
/**
|
||||
* @public
|
||||
*
|
||||
* Endpoint config interfaces and resolver for Endpoint v2. They live in separate package to allow per-service onboarding.
|
||||
* When all services onboard Endpoint v2, the resolver in config-resolver package can be removed.
|
||||
* This interface includes all the endpoint parameters with built-in bindings of "AWS::*" and "SDK::*"
|
||||
*/
|
||||
export interface EndpointInputConfig<T extends EndpointParameters = EndpointParameters> {
|
||||
/**
|
||||
* The fully qualified endpoint of the webservice. This is only for using
|
||||
* a custom endpoint (for example, when using a local version of S3).
|
||||
*
|
||||
* Endpoint transformations such as S3 applying a bucket to the hostname are
|
||||
* still applicable to this custom endpoint.
|
||||
*/
|
||||
endpoint?: string | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>;
|
||||
/**
|
||||
* Providing a custom endpointProvider will override
|
||||
* built-in transformations of the endpoint such as S3 adding the bucket
|
||||
* name to the hostname, since they are part of the default endpointProvider.
|
||||
*/
|
||||
endpointProvider?: (params: T, context?: {
|
||||
logger?: Logger;
|
||||
}) => EndpointV2;
|
||||
/**
|
||||
* Whether TLS is enabled for requests.
|
||||
* @deprecated
|
||||
*/
|
||||
tls?: boolean;
|
||||
/**
|
||||
* Enables IPv6/IPv4 dualstack endpoint.
|
||||
*/
|
||||
useDualstackEndpoint?: boolean | Provider<boolean>;
|
||||
/**
|
||||
* Enables FIPS compatible endpoints.
|
||||
*/
|
||||
useFipsEndpoint?: boolean | Provider<boolean>;
|
||||
}
|
||||
interface PreviouslyResolved<T extends EndpointParameters = EndpointParameters> {
|
||||
urlParser: UrlParser;
|
||||
region: Provider<string>;
|
||||
endpointProvider: (params: T, context?: {
|
||||
logger?: Logger;
|
||||
}) => EndpointV2;
|
||||
logger?: Logger;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*
|
||||
* This supercedes the similarly named EndpointsResolvedConfig (no parametric types)
|
||||
* from resolveEndpointsConfig.ts in @smithy/config-resolver.
|
||||
*/
|
||||
export interface EndpointResolvedConfig<T extends EndpointParameters = EndpointParameters> {
|
||||
/**
|
||||
* Custom endpoint provided by the user.
|
||||
* This is normalized to a single interface from the various acceptable types.
|
||||
* This field will be undefined if a custom endpoint is not provided.
|
||||
*/
|
||||
endpoint?: Provider<Endpoint>;
|
||||
endpointProvider: (params: T, context?: {
|
||||
logger?: Logger;
|
||||
}) => EndpointV2;
|
||||
/**
|
||||
* Whether TLS is enabled for requests.
|
||||
* @deprecated
|
||||
*/
|
||||
tls: boolean;
|
||||
/**
|
||||
* Whether the endpoint is specified by caller.
|
||||
* @internal
|
||||
* @deprecated
|
||||
*/
|
||||
isCustomEndpoint?: boolean;
|
||||
/**
|
||||
* Resolved value for input {@link EndpointsInputConfig.useDualstackEndpoint}
|
||||
*/
|
||||
useDualstackEndpoint: Provider<boolean>;
|
||||
/**
|
||||
* Resolved value for input {@link EndpointsInputConfig.useFipsEndpoint}
|
||||
*/
|
||||
useFipsEndpoint: Provider<boolean>;
|
||||
/**
|
||||
* Unique service identifier.
|
||||
* @internal
|
||||
*/
|
||||
serviceId?: string;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const resolveEndpointConfig: <T, P extends EndpointParameters = EndpointParameters>(input: T & EndpointInputConfig<P> & PreviouslyResolved<P>) => T & EndpointResolvedConfig<P>;
|
||||
export {};
|
||||
Generated
Vendored
-4
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./s3";
|
||||
Generated
Vendored
-26
@@ -1,26 +0,0 @@
|
||||
import { EndpointParameters } from "@smithy/types";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const resolveParamsForS3: (endpointParams: EndpointParameters) => Promise<EndpointParameters>;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const DOT_PATTERN: RegExp;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const S3_HOSTNAME_PATTERN: RegExp;
|
||||
/**
|
||||
* Determines whether a given string is DNS compliant per the rules outlined by
|
||||
* S3. Length, capitaization, and leading dot restrictions are enforced by the
|
||||
* DOMAIN_PATTERN regular expression.
|
||||
* @internal
|
||||
*
|
||||
* @see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
|
||||
*/
|
||||
export declare const isDnsCompatibleBucketName: (bucketName: string) => boolean;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const isArnBucketName: (bucketName: string) => boolean;
|
||||
Generated
Vendored
-13
@@ -1,13 +0,0 @@
|
||||
/**
|
||||
* Normalize some key of the client config to an async provider.
|
||||
* @internal
|
||||
*
|
||||
* @param configKey - the key to look up in config.
|
||||
* @param canonicalEndpointParamKey - this is the name the EndpointRuleSet uses.
|
||||
* it will most likely not contain the config
|
||||
* value, but we use it as a fallback.
|
||||
* @param config - container of the config values.
|
||||
*
|
||||
* @returns async function that will resolve with the value.
|
||||
*/
|
||||
export declare const createConfigValueProvider: <Config extends Record<string, unknown>>(configKey: string, canonicalEndpointParamKey: string, config: Config) => () => Promise<any>;
|
||||
Generated
Vendored
-1
@@ -1 +0,0 @@
|
||||
export declare const getEndpointFromConfig: (serviceId: string) => Promise<undefined>;
|
||||
Generated
Vendored
-1
@@ -1 +0,0 @@
|
||||
export declare const getEndpointFromConfig: (serviceId: string) => Promise<string | undefined>;
|
||||
Generated
Vendored
-28
@@ -1,28 +0,0 @@
|
||||
import { EndpointParameters, EndpointV2, HandlerExecutionContext } from "@smithy/types";
|
||||
import { EndpointResolvedConfig } from "../resolveEndpointConfig";
|
||||
import { EndpointParameterInstructions } from "../types";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export type EndpointParameterInstructionsSupplier = Partial<{
|
||||
getEndpointParameterInstructions(): EndpointParameterInstructions;
|
||||
}>;
|
||||
/**
|
||||
* This step in the endpoint resolution process is exposed as a function
|
||||
* to allow packages such as signers, lib-upload, etc. to get
|
||||
* the V2 Endpoint associated to an instance of some api operation command
|
||||
* without needing to send it or resolve its middleware stack.
|
||||
*
|
||||
* @internal
|
||||
* @param commandInput - the input of the Command in question.
|
||||
* @param instructionsSupplier - this is typically a Command constructor. A static function supplying the
|
||||
* endpoint parameter instructions will exist for commands in services
|
||||
* having an endpoints ruleset trait.
|
||||
* @param clientConfig - config of the service client.
|
||||
* @param context - optional context.
|
||||
*/
|
||||
export declare const getEndpointFromInstructions: <T extends EndpointParameters, CommandInput extends Record<string, unknown>, Config extends Record<string, unknown>>(commandInput: CommandInput, instructionsSupplier: EndpointParameterInstructionsSupplier, clientConfig: Partial<EndpointResolvedConfig<T>> & Config, context?: HandlerExecutionContext) => Promise<EndpointV2>;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const resolveParams: <T extends EndpointParameters, CommandInput extends Record<string, unknown>, Config extends Record<string, unknown>>(commandInput: CommandInput, instructionsSupplier: EndpointParameterInstructionsSupplier, clientConfig: Partial<EndpointResolvedConfig<T>> & Config) => Promise<EndpointParameters>;
|
||||
Generated
Vendored
-2
@@ -1,2 +0,0 @@
|
||||
import { LoadedConfigSelectors } from "@smithy/node-config-provider";
|
||||
export declare const getEndpointUrlConfig: (serviceId: string) => LoadedConfigSelectors<string | undefined>;
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./getEndpointFromInstructions";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./toEndpointV1";
|
||||
Generated
Vendored
-5
@@ -1,5 +0,0 @@
|
||||
import { Endpoint, EndpointV2 } from "@smithy/types";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const toEndpointV1: (endpoint: string | Endpoint | EndpointV2) => Endpoint;
|
||||
Generated
Vendored
-10
@@ -1,10 +0,0 @@
|
||||
import { EndpointParameters, SerializeMiddleware } from "@smithy/types";
|
||||
import { EndpointResolvedConfig } from "./resolveEndpointConfig";
|
||||
import { EndpointParameterInstructions } from "./types";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const endpointMiddleware: <T extends EndpointParameters>({ config, instructions, }: {
|
||||
config: EndpointResolvedConfig<T>;
|
||||
instructions: EndpointParameterInstructions;
|
||||
}) => SerializeMiddleware<any, any>;
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
import { EndpointParameters, Pluggable, RelativeMiddlewareOptions, SerializeHandlerOptions } from "@smithy/types";
|
||||
import { EndpointResolvedConfig } from "./resolveEndpointConfig";
|
||||
import { EndpointParameterInstructions } from "./types";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const endpointMiddlewareOptions: SerializeHandlerOptions & RelativeMiddlewareOptions;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const getEndpointPlugin: <T extends EndpointParameters>(config: EndpointResolvedConfig<T>, instructions: EndpointParameterInstructions) => Pluggable<any, any>;
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./adaptors";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./endpointMiddleware";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./getEndpointPlugin";
|
||||
export * from "./resolveEndpointConfig";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./types";
|
||||
Generated
Vendored
-93
@@ -1,93 +0,0 @@
|
||||
import { Endpoint, EndpointParameters, EndpointV2, Logger, Provider, UrlParser } from "@smithy/types";
|
||||
/**
|
||||
* @public
|
||||
*
|
||||
* Endpoint config interfaces and resolver for Endpoint v2. They live in separate package to allow per-service onboarding.
|
||||
* When all services onboard Endpoint v2, the resolver in config-resolver package can be removed.
|
||||
* This interface includes all the endpoint parameters with built-in bindings of "AWS::*" and "SDK::*"
|
||||
*/
|
||||
export interface EndpointInputConfig<T extends EndpointParameters = EndpointParameters> {
|
||||
/**
|
||||
* The fully qualified endpoint of the webservice. This is only for using
|
||||
* a custom endpoint (for example, when using a local version of S3).
|
||||
*
|
||||
* Endpoint transformations such as S3 applying a bucket to the hostname are
|
||||
* still applicable to this custom endpoint.
|
||||
*/
|
||||
endpoint?: string | Endpoint | Provider<Endpoint> | EndpointV2 | Provider<EndpointV2>;
|
||||
/**
|
||||
* Providing a custom endpointProvider will override
|
||||
* built-in transformations of the endpoint such as S3 adding the bucket
|
||||
* name to the hostname, since they are part of the default endpointProvider.
|
||||
*/
|
||||
endpointProvider?: (params: T, context?: {
|
||||
logger?: Logger;
|
||||
}) => EndpointV2;
|
||||
/**
|
||||
* Whether TLS is enabled for requests.
|
||||
* @deprecated
|
||||
*/
|
||||
tls?: boolean;
|
||||
/**
|
||||
* Enables IPv6/IPv4 dualstack endpoint.
|
||||
*/
|
||||
useDualstackEndpoint?: boolean | Provider<boolean>;
|
||||
/**
|
||||
* Enables FIPS compatible endpoints.
|
||||
*/
|
||||
useFipsEndpoint?: boolean | Provider<boolean>;
|
||||
}
|
||||
interface PreviouslyResolved<T extends EndpointParameters = EndpointParameters> {
|
||||
urlParser: UrlParser;
|
||||
region: Provider<string>;
|
||||
endpointProvider: (params: T, context?: {
|
||||
logger?: Logger;
|
||||
}) => EndpointV2;
|
||||
logger?: Logger;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*
|
||||
* This supercedes the similarly named EndpointsResolvedConfig (no parametric types)
|
||||
* from resolveEndpointsConfig.ts in @smithy/config-resolver.
|
||||
*/
|
||||
export interface EndpointResolvedConfig<T extends EndpointParameters = EndpointParameters> {
|
||||
/**
|
||||
* Custom endpoint provided by the user.
|
||||
* This is normalized to a single interface from the various acceptable types.
|
||||
* This field will be undefined if a custom endpoint is not provided.
|
||||
*/
|
||||
endpoint?: Provider<Endpoint>;
|
||||
endpointProvider: (params: T, context?: {
|
||||
logger?: Logger;
|
||||
}) => EndpointV2;
|
||||
/**
|
||||
* Whether TLS is enabled for requests.
|
||||
* @deprecated
|
||||
*/
|
||||
tls: boolean;
|
||||
/**
|
||||
* Whether the endpoint is specified by caller.
|
||||
* @internal
|
||||
* @deprecated
|
||||
*/
|
||||
isCustomEndpoint?: boolean;
|
||||
/**
|
||||
* Resolved value for input {@link EndpointsInputConfig.useDualstackEndpoint}
|
||||
*/
|
||||
useDualstackEndpoint: Provider<boolean>;
|
||||
/**
|
||||
* Resolved value for input {@link EndpointsInputConfig.useFipsEndpoint}
|
||||
*/
|
||||
useFipsEndpoint: Provider<boolean>;
|
||||
/**
|
||||
* Unique service identifier.
|
||||
* @internal
|
||||
*/
|
||||
serviceId?: string;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const resolveEndpointConfig: <T, P extends EndpointParameters = EndpointParameters>(input: T & EndpointInputConfig<P> & PreviouslyResolved<P>) => T & EndpointResolvedConfig<P>;
|
||||
export {};
|
||||
Generated
Vendored
-4
@@ -1,4 +0,0 @@
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export * from "./s3";
|
||||
Generated
Vendored
-26
@@ -1,26 +0,0 @@
|
||||
import { EndpointParameters } from "@smithy/types";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const resolveParamsForS3: (endpointParams: EndpointParameters) => Promise<EndpointParameters>;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const DOT_PATTERN: RegExp;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const S3_HOSTNAME_PATTERN: RegExp;
|
||||
/**
|
||||
* Determines whether a given string is DNS compliant per the rules outlined by
|
||||
* S3. Length, capitaization, and leading dot restrictions are enforced by the
|
||||
* DOMAIN_PATTERN regular expression.
|
||||
* @internal
|
||||
*
|
||||
* @see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
|
||||
*/
|
||||
export declare const isDnsCompatibleBucketName: (bucketName: string) => boolean;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const isArnBucketName: (bucketName: string) => boolean;
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export interface EndpointParameterInstructions {
|
||||
[name: string]: BuiltInParamInstruction | ClientContextParamInstruction | StaticContextParamInstruction | ContextParamInstruction;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export interface BuiltInParamInstruction {
|
||||
type: "builtInParams";
|
||||
name: string;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export interface ClientContextParamInstruction {
|
||||
type: "clientContextParams";
|
||||
name: string;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export interface StaticContextParamInstruction {
|
||||
type: "staticContextParams";
|
||||
value: string | boolean;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export interface ContextParamInstruction {
|
||||
type: "contextParams";
|
||||
name: string;
|
||||
}
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export interface EndpointParameterInstructions {
|
||||
[name: string]: BuiltInParamInstruction | ClientContextParamInstruction | StaticContextParamInstruction | ContextParamInstruction;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export interface BuiltInParamInstruction {
|
||||
type: "builtInParams";
|
||||
name: string;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export interface ClientContextParamInstruction {
|
||||
type: "clientContextParams";
|
||||
name: string;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export interface StaticContextParamInstruction {
|
||||
type: "staticContextParams";
|
||||
value: string | boolean;
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export interface ContextParamInstruction {
|
||||
type: "contextParams";
|
||||
name: string;
|
||||
}
|
||||
-73
@@ -1,73 +0,0 @@
|
||||
{
|
||||
"name": "@smithy/middleware-endpoint",
|
||||
"version": "2.2.1",
|
||||
"scripts": {
|
||||
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
|
||||
"build:cjs": "yarn g:tsc -p tsconfig.cjs.json",
|
||||
"build:es": "yarn g:tsc -p tsconfig.es.json",
|
||||
"build:types": "yarn g:tsc -p tsconfig.types.json",
|
||||
"build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
|
||||
"stage-release": "rimraf ./.release && yarn pack && mkdir ./.release && tar zxvf ./package.tgz --directory ./.release && rm ./package.tgz",
|
||||
"clean": "rimraf ./dist-* && rimraf *.tsbuildinfo",
|
||||
"lint": "eslint -c ../../.eslintrc.js \"src/**/*.ts\"",
|
||||
"format": "prettier --config ../../prettier.config.js --ignore-path ../.prettierignore --write \"**/*.{ts,md,json}\"",
|
||||
"test": "yarn g:jest --passWithNoTests",
|
||||
"extract:docs": "api-extractor run --local"
|
||||
},
|
||||
"main": "./dist-cjs/index.js",
|
||||
"module": "./dist-es/index.js",
|
||||
"types": "./dist-types/index.d.ts",
|
||||
"author": {
|
||||
"name": "AWS SDK for JavaScript Team",
|
||||
"url": "https://aws.amazon.com/javascript/"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@smithy/middleware-serde": "^2.0.14",
|
||||
"@smithy/node-config-provider": "^2.1.6",
|
||||
"@smithy/shared-ini-file-loader": "^2.2.5",
|
||||
"@smithy/types": "^2.6.0",
|
||||
"@smithy/url-parser": "^2.0.14",
|
||||
"@smithy/util-middleware": "^2.0.7",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tsconfig/recommended": "1.0.1",
|
||||
"concurrently": "7.0.0",
|
||||
"downlevel-dts": "0.10.1",
|
||||
"rimraf": "3.0.2",
|
||||
"typedoc": "0.23.23"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"typesVersions": {
|
||||
"<4.0": {
|
||||
"dist-types/*": [
|
||||
"dist-types/ts3.4/*"
|
||||
]
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist-*/**"
|
||||
],
|
||||
"browser": {
|
||||
"./dist-es/adaptors/getEndpointFromConfig": "./dist-es/adaptors/getEndpointFromConfig.browser"
|
||||
},
|
||||
"react-native": {
|
||||
"./dist-es/adaptors/getEndpointFromConfig": "./dist-es/adaptors/getEndpointFromConfig.browser",
|
||||
"./dist-cjs/adaptors/getEndpointFromConfig": "./dist-cjs/adaptors/getEndpointFromConfig.browser"
|
||||
},
|
||||
"homepage": "https://github.com/awslabs/smithy-typescript/tree/main/packages/middleware-endpoint",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/awslabs/smithy-typescript.git",
|
||||
"directory": "packages/middleware-endpoint"
|
||||
},
|
||||
"typedoc": {
|
||||
"entryPoint": "src/index.ts"
|
||||
},
|
||||
"publishConfig": {
|
||||
"directory": ".release/package"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user