Initial
This commit is contained in:
46
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js
generated
vendored
Normal file
46
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.checkUrl = void 0;
|
||||
const property_provider_1 = require("@smithy/property-provider");
|
||||
const LOOPBACK_CIDR_IPv4 = "127.0.0.0/8";
|
||||
const LOOPBACK_CIDR_IPv6 = "::1/128";
|
||||
const ECS_CONTAINER_HOST = "169.254.170.2";
|
||||
const EKS_CONTAINER_HOST_IPv4 = "169.254.170.23";
|
||||
const EKS_CONTAINER_HOST_IPv6 = "[fd00:ec2::23]";
|
||||
const checkUrl = (url) => {
|
||||
if (url.protocol === "https:") {
|
||||
return;
|
||||
}
|
||||
if (url.hostname === ECS_CONTAINER_HOST ||
|
||||
url.hostname === EKS_CONTAINER_HOST_IPv4 ||
|
||||
url.hostname === EKS_CONTAINER_HOST_IPv6) {
|
||||
return;
|
||||
}
|
||||
if (url.hostname.includes("[")) {
|
||||
if (url.hostname === "[::1]" || url.hostname === "[0000:0000:0000:0000:0000:0000:0000:0001]") {
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (url.hostname === "localhost") {
|
||||
return;
|
||||
}
|
||||
const ipComponents = url.hostname.split(".");
|
||||
const inRange = (component) => {
|
||||
const num = parseInt(component, 10);
|
||||
return 0 <= num && num <= 255;
|
||||
};
|
||||
if (ipComponents[0] === "127" &&
|
||||
inRange(ipComponents[1]) &&
|
||||
inRange(ipComponents[2]) &&
|
||||
inRange(ipComponents[3]) &&
|
||||
ipComponents.length === 4) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
throw new property_provider_1.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
|
||||
- loopback CIDR 127.0.0.0/8 or [::1/128]
|
||||
- ECS container host 169.254.170.2
|
||||
- EKS container host 169.254.170.23 or [fd00:ec2::23]`);
|
||||
};
|
||||
exports.checkUrl = checkUrl;
|
||||
31
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.browser.js
generated
vendored
Normal file
31
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.browser.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.fromHttp = void 0;
|
||||
const fetch_http_handler_1 = require("@smithy/fetch-http-handler");
|
||||
const property_provider_1 = require("@smithy/property-provider");
|
||||
const checkUrl_1 = require("./checkUrl");
|
||||
const requestHelpers_1 = require("./requestHelpers");
|
||||
const retry_wrapper_1 = require("./retry-wrapper");
|
||||
const fromHttp = (options) => {
|
||||
options.logger?.debug("@aws-sdk/credential-provider-http", "fromHttp");
|
||||
let host;
|
||||
const full = options.credentialsFullUri;
|
||||
if (full) {
|
||||
host = full;
|
||||
}
|
||||
else {
|
||||
throw new property_provider_1.CredentialsProviderError("No HTTP credential provider host provided.");
|
||||
}
|
||||
const url = new URL(host);
|
||||
(0, checkUrl_1.checkUrl)(url);
|
||||
const requestHandler = new fetch_http_handler_1.FetchHttpHandler();
|
||||
return (0, retry_wrapper_1.retryWrapper)(async () => {
|
||||
const request = (0, requestHelpers_1.createGetRequest)(url);
|
||||
if (options.authorizationToken) {
|
||||
request.headers.Authorization = options.authorizationToken;
|
||||
}
|
||||
const result = await requestHandler.handle(request);
|
||||
return (0, requestHelpers_1.getCredentials)(result.response);
|
||||
}, options.maxRetries ?? 3, options.timeout ?? 1000);
|
||||
};
|
||||
exports.fromHttp = fromHttp;
|
||||
64
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js
generated
vendored
Normal file
64
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.fromHttp = void 0;
|
||||
const tslib_1 = require("tslib");
|
||||
const node_http_handler_1 = require("@smithy/node-http-handler");
|
||||
const property_provider_1 = require("@smithy/property-provider");
|
||||
const promises_1 = tslib_1.__importDefault(require("fs/promises"));
|
||||
const checkUrl_1 = require("./checkUrl");
|
||||
const requestHelpers_1 = require("./requestHelpers");
|
||||
const retry_wrapper_1 = require("./retry-wrapper");
|
||||
const AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
|
||||
const DEFAULT_LINK_LOCAL_HOST = "http://169.254.170.2";
|
||||
const AWS_CONTAINER_CREDENTIALS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
|
||||
const AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE";
|
||||
const AWS_CONTAINER_AUTHORIZATION_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
|
||||
const fromHttp = (options) => {
|
||||
options.logger?.debug("@aws-sdk/credential-provider-http", "fromHttp");
|
||||
let host;
|
||||
const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];
|
||||
const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];
|
||||
const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];
|
||||
const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];
|
||||
if (relative && full) {
|
||||
console.warn("AWS SDK HTTP credentials provider:", "you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.");
|
||||
console.warn("awsContainerCredentialsFullUri will take precedence.");
|
||||
}
|
||||
if (token && tokenFile) {
|
||||
console.warn("AWS SDK HTTP credentials provider:", "you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.");
|
||||
console.warn("awsContainerAuthorizationToken will take precedence.");
|
||||
}
|
||||
if (full) {
|
||||
host = full;
|
||||
}
|
||||
else if (relative) {
|
||||
host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;
|
||||
}
|
||||
else {
|
||||
throw new property_provider_1.CredentialsProviderError(`No HTTP credential provider host provided.
|
||||
Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`);
|
||||
}
|
||||
const url = new URL(host);
|
||||
(0, checkUrl_1.checkUrl)(url);
|
||||
const requestHandler = new node_http_handler_1.NodeHttpHandler({
|
||||
requestTimeout: options.timeout ?? 1000,
|
||||
connectionTimeout: options.timeout ?? 1000,
|
||||
});
|
||||
return (0, retry_wrapper_1.retryWrapper)(async () => {
|
||||
const request = (0, requestHelpers_1.createGetRequest)(url);
|
||||
if (token) {
|
||||
request.headers.Authorization = token;
|
||||
}
|
||||
else if (tokenFile) {
|
||||
request.headers.Authorization = (await promises_1.default.readFile(tokenFile)).toString();
|
||||
}
|
||||
try {
|
||||
const result = await requestHandler.handle(request);
|
||||
return (0, requestHelpers_1.getCredentials)(result.response);
|
||||
}
|
||||
catch (e) {
|
||||
throw new property_provider_1.CredentialsProviderError(String(e));
|
||||
}
|
||||
}, options.maxRetries ?? 3, options.timeout ?? 1000);
|
||||
};
|
||||
exports.fromHttp = fromHttp;
|
||||
2
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttpTypes.js
generated
vendored
Normal file
2
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttpTypes.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
58
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js
generated
vendored
Normal file
58
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getCredentials = exports.createGetRequest = void 0;
|
||||
const property_provider_1 = require("@smithy/property-provider");
|
||||
const protocol_http_1 = require("@smithy/protocol-http");
|
||||
const smithy_client_1 = require("@smithy/smithy-client");
|
||||
const util_stream_1 = require("@smithy/util-stream");
|
||||
function createGetRequest(url) {
|
||||
return new protocol_http_1.HttpRequest({
|
||||
protocol: url.protocol,
|
||||
hostname: url.hostname,
|
||||
port: Number(url.port),
|
||||
path: url.pathname,
|
||||
query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {
|
||||
acc[k] = v;
|
||||
return acc;
|
||||
}, {}),
|
||||
fragment: url.hash,
|
||||
});
|
||||
}
|
||||
exports.createGetRequest = createGetRequest;
|
||||
async function getCredentials(response) {
|
||||
const contentType = response?.headers["content-type"] ?? response?.headers["Content-Type"] ?? "";
|
||||
if (!contentType.includes("json")) {
|
||||
console.warn("HTTP credential provider response header content-type was not application/json. Observed: " + contentType + ".");
|
||||
}
|
||||
const stream = (0, util_stream_1.sdkStreamMixin)(response.body);
|
||||
const str = await stream.transformToString();
|
||||
if (response.statusCode === 200) {
|
||||
const parsed = JSON.parse(str);
|
||||
if (typeof parsed.AccessKeyId !== "string" ||
|
||||
typeof parsed.SecretAccessKey !== "string" ||
|
||||
typeof parsed.Token !== "string" ||
|
||||
typeof parsed.Expiration !== "string") {
|
||||
throw new property_provider_1.CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: " +
|
||||
"{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }");
|
||||
}
|
||||
return {
|
||||
accessKeyId: parsed.AccessKeyId,
|
||||
secretAccessKey: parsed.SecretAccessKey,
|
||||
sessionToken: parsed.Token,
|
||||
expiration: (0, smithy_client_1.parseRfc3339DateTime)(parsed.Expiration),
|
||||
};
|
||||
}
|
||||
if (response.statusCode >= 400 && response.statusCode < 500) {
|
||||
let parsedBody = {};
|
||||
try {
|
||||
parsedBody = JSON.parse(str);
|
||||
}
|
||||
catch (e) { }
|
||||
throw Object.assign(new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`), {
|
||||
Code: parsedBody.Code,
|
||||
Message: parsedBody.Message,
|
||||
});
|
||||
}
|
||||
throw new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`);
|
||||
}
|
||||
exports.getCredentials = getCredentials;
|
||||
17
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js
generated
vendored
Normal file
17
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.retryWrapper = void 0;
|
||||
const retryWrapper = (toRetry, maxRetries, delayMs) => {
|
||||
return async () => {
|
||||
for (let i = 0; i < maxRetries; ++i) {
|
||||
try {
|
||||
return await toRetry();
|
||||
}
|
||||
catch (e) {
|
||||
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
||||
}
|
||||
}
|
||||
return await toRetry();
|
||||
};
|
||||
};
|
||||
exports.retryWrapper = retryWrapper;
|
||||
5
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.browser.js
generated
vendored
Normal file
5
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.browser.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.fromHttp = void 0;
|
||||
var fromHttp_browser_1 = require("./fromHttp/fromHttp.browser");
|
||||
Object.defineProperty(exports, "fromHttp", { enumerable: true, get: function () { return fromHttp_browser_1.fromHttp; } });
|
||||
5
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js
generated
vendored
Normal file
5
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.fromHttp = void 0;
|
||||
var fromHttp_1 = require("./fromHttp/fromHttp");
|
||||
Object.defineProperty(exports, "fromHttp", { enumerable: true, get: function () { return fromHttp_1.fromHttp; } });
|
||||
42
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/checkUrl.js
generated
vendored
Normal file
42
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/checkUrl.js
generated
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
import { CredentialsProviderError } from "@smithy/property-provider";
|
||||
const LOOPBACK_CIDR_IPv4 = "127.0.0.0/8";
|
||||
const LOOPBACK_CIDR_IPv6 = "::1/128";
|
||||
const ECS_CONTAINER_HOST = "169.254.170.2";
|
||||
const EKS_CONTAINER_HOST_IPv4 = "169.254.170.23";
|
||||
const EKS_CONTAINER_HOST_IPv6 = "[fd00:ec2::23]";
|
||||
export const checkUrl = (url) => {
|
||||
if (url.protocol === "https:") {
|
||||
return;
|
||||
}
|
||||
if (url.hostname === ECS_CONTAINER_HOST ||
|
||||
url.hostname === EKS_CONTAINER_HOST_IPv4 ||
|
||||
url.hostname === EKS_CONTAINER_HOST_IPv6) {
|
||||
return;
|
||||
}
|
||||
if (url.hostname.includes("[")) {
|
||||
if (url.hostname === "[::1]" || url.hostname === "[0000:0000:0000:0000:0000:0000:0000:0001]") {
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (url.hostname === "localhost") {
|
||||
return;
|
||||
}
|
||||
const ipComponents = url.hostname.split(".");
|
||||
const inRange = (component) => {
|
||||
const num = parseInt(component, 10);
|
||||
return 0 <= num && num <= 255;
|
||||
};
|
||||
if (ipComponents[0] === "127" &&
|
||||
inRange(ipComponents[1]) &&
|
||||
inRange(ipComponents[2]) &&
|
||||
inRange(ipComponents[3]) &&
|
||||
ipComponents.length === 4) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
throw new CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
|
||||
- loopback CIDR 127.0.0.0/8 or [::1/128]
|
||||
- ECS container host 169.254.170.2
|
||||
- EKS container host 169.254.170.23 or [fd00:ec2::23]`);
|
||||
};
|
||||
27
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.browser.js
generated
vendored
Normal file
27
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.browser.js
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
import { FetchHttpHandler } from "@smithy/fetch-http-handler";
|
||||
import { CredentialsProviderError } from "@smithy/property-provider";
|
||||
import { checkUrl } from "./checkUrl";
|
||||
import { createGetRequest, getCredentials } from "./requestHelpers";
|
||||
import { retryWrapper } from "./retry-wrapper";
|
||||
export const fromHttp = (options) => {
|
||||
options.logger?.debug("@aws-sdk/credential-provider-http", "fromHttp");
|
||||
let host;
|
||||
const full = options.credentialsFullUri;
|
||||
if (full) {
|
||||
host = full;
|
||||
}
|
||||
else {
|
||||
throw new CredentialsProviderError("No HTTP credential provider host provided.");
|
||||
}
|
||||
const url = new URL(host);
|
||||
checkUrl(url);
|
||||
const requestHandler = new FetchHttpHandler();
|
||||
return retryWrapper(async () => {
|
||||
const request = createGetRequest(url);
|
||||
if (options.authorizationToken) {
|
||||
request.headers.Authorization = options.authorizationToken;
|
||||
}
|
||||
const result = await requestHandler.handle(request);
|
||||
return getCredentials(result.response);
|
||||
}, options.maxRetries ?? 3, options.timeout ?? 1000);
|
||||
};
|
||||
59
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js
generated
vendored
Normal file
59
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
import { NodeHttpHandler } from "@smithy/node-http-handler";
|
||||
import { CredentialsProviderError } from "@smithy/property-provider";
|
||||
import fs from "fs/promises";
|
||||
import { checkUrl } from "./checkUrl";
|
||||
import { createGetRequest, getCredentials } from "./requestHelpers";
|
||||
import { retryWrapper } from "./retry-wrapper";
|
||||
const AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
|
||||
const DEFAULT_LINK_LOCAL_HOST = "http://169.254.170.2";
|
||||
const AWS_CONTAINER_CREDENTIALS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
|
||||
const AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE";
|
||||
const AWS_CONTAINER_AUTHORIZATION_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
|
||||
export const fromHttp = (options) => {
|
||||
options.logger?.debug("@aws-sdk/credential-provider-http", "fromHttp");
|
||||
let host;
|
||||
const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];
|
||||
const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];
|
||||
const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];
|
||||
const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];
|
||||
if (relative && full) {
|
||||
console.warn("AWS SDK HTTP credentials provider:", "you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.");
|
||||
console.warn("awsContainerCredentialsFullUri will take precedence.");
|
||||
}
|
||||
if (token && tokenFile) {
|
||||
console.warn("AWS SDK HTTP credentials provider:", "you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.");
|
||||
console.warn("awsContainerAuthorizationToken will take precedence.");
|
||||
}
|
||||
if (full) {
|
||||
host = full;
|
||||
}
|
||||
else if (relative) {
|
||||
host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;
|
||||
}
|
||||
else {
|
||||
throw new CredentialsProviderError(`No HTTP credential provider host provided.
|
||||
Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`);
|
||||
}
|
||||
const url = new URL(host);
|
||||
checkUrl(url);
|
||||
const requestHandler = new NodeHttpHandler({
|
||||
requestTimeout: options.timeout ?? 1000,
|
||||
connectionTimeout: options.timeout ?? 1000,
|
||||
});
|
||||
return retryWrapper(async () => {
|
||||
const request = createGetRequest(url);
|
||||
if (token) {
|
||||
request.headers.Authorization = token;
|
||||
}
|
||||
else if (tokenFile) {
|
||||
request.headers.Authorization = (await fs.readFile(tokenFile)).toString();
|
||||
}
|
||||
try {
|
||||
const result = await requestHandler.handle(request);
|
||||
return getCredentials(result.response);
|
||||
}
|
||||
catch (e) {
|
||||
throw new CredentialsProviderError(String(e));
|
||||
}
|
||||
}, options.maxRetries ?? 3, options.timeout ?? 1000);
|
||||
};
|
||||
1
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttpTypes.js
generated
vendored
Normal file
1
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttpTypes.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
53
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/requestHelpers.js
generated
vendored
Normal file
53
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/requestHelpers.js
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
import { CredentialsProviderError } from "@smithy/property-provider";
|
||||
import { HttpRequest } from "@smithy/protocol-http";
|
||||
import { parseRfc3339DateTime } from "@smithy/smithy-client";
|
||||
import { sdkStreamMixin } from "@smithy/util-stream";
|
||||
export function createGetRequest(url) {
|
||||
return new HttpRequest({
|
||||
protocol: url.protocol,
|
||||
hostname: url.hostname,
|
||||
port: Number(url.port),
|
||||
path: url.pathname,
|
||||
query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {
|
||||
acc[k] = v;
|
||||
return acc;
|
||||
}, {}),
|
||||
fragment: url.hash,
|
||||
});
|
||||
}
|
||||
export async function getCredentials(response) {
|
||||
const contentType = response?.headers["content-type"] ?? response?.headers["Content-Type"] ?? "";
|
||||
if (!contentType.includes("json")) {
|
||||
console.warn("HTTP credential provider response header content-type was not application/json. Observed: " + contentType + ".");
|
||||
}
|
||||
const stream = sdkStreamMixin(response.body);
|
||||
const str = await stream.transformToString();
|
||||
if (response.statusCode === 200) {
|
||||
const parsed = JSON.parse(str);
|
||||
if (typeof parsed.AccessKeyId !== "string" ||
|
||||
typeof parsed.SecretAccessKey !== "string" ||
|
||||
typeof parsed.Token !== "string" ||
|
||||
typeof parsed.Expiration !== "string") {
|
||||
throw new CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: " +
|
||||
"{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }");
|
||||
}
|
||||
return {
|
||||
accessKeyId: parsed.AccessKeyId,
|
||||
secretAccessKey: parsed.SecretAccessKey,
|
||||
sessionToken: parsed.Token,
|
||||
expiration: parseRfc3339DateTime(parsed.Expiration),
|
||||
};
|
||||
}
|
||||
if (response.statusCode >= 400 && response.statusCode < 500) {
|
||||
let parsedBody = {};
|
||||
try {
|
||||
parsedBody = JSON.parse(str);
|
||||
}
|
||||
catch (e) { }
|
||||
throw Object.assign(new CredentialsProviderError(`Server responded with status: ${response.statusCode}`), {
|
||||
Code: parsedBody.Code,
|
||||
Message: parsedBody.Message,
|
||||
});
|
||||
}
|
||||
throw new CredentialsProviderError(`Server responded with status: ${response.statusCode}`);
|
||||
}
|
||||
13
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/retry-wrapper.js
generated
vendored
Normal file
13
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/retry-wrapper.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
export const retryWrapper = (toRetry, maxRetries, delayMs) => {
|
||||
return async () => {
|
||||
for (let i = 0; i < maxRetries; ++i) {
|
||||
try {
|
||||
return await toRetry();
|
||||
}
|
||||
catch (e) {
|
||||
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
||||
}
|
||||
}
|
||||
return await toRetry();
|
||||
};
|
||||
};
|
||||
1
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/index.browser.js
generated
vendored
Normal file
1
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/index.browser.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { fromHttp } from "./fromHttp/fromHttp.browser";
|
||||
1
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/index.js
generated
vendored
Normal file
1
resources/app/node_modules/@aws-sdk/credential-provider-http/dist-es/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { fromHttp } from "./fromHttp/fromHttp";
|
||||
53
resources/app/node_modules/@aws-sdk/credential-provider-http/package.json
generated
vendored
Normal file
53
resources/app/node_modules/@aws-sdk/credential-provider-http/package.json
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"name": "@aws-sdk/credential-provider-http",
|
||||
"version": "3.577.0",
|
||||
"description": "AWS credential provider for containers and HTTP sources",
|
||||
"main": "./dist-cjs/index.js",
|
||||
"module": "./dist-es/index.js",
|
||||
"browser": "./dist-es/index.browser.js",
|
||||
"react-native": "./dist-es/index.browser.js",
|
||||
"author": {
|
||||
"name": "AWS SDK for JavaScript Team",
|
||||
"url": "https://aws.amazon.com/javascript/"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@aws-sdk/types": "3.577.0",
|
||||
"@smithy/fetch-http-handler": "^3.0.0",
|
||||
"@smithy/node-http-handler": "^3.0.0",
|
||||
"@smithy/property-provider": "^3.0.0",
|
||||
"@smithy/protocol-http": "^4.0.0",
|
||||
"@smithy/smithy-client": "^3.0.0",
|
||||
"@smithy/types": "^3.0.0",
|
||||
"@smithy/util-stream": "^3.0.0",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tsconfig/recommended": "1.0.1",
|
||||
"@types/node": "^16.18.96",
|
||||
"concurrently": "7.0.0",
|
||||
"downlevel-dts": "0.10.1",
|
||||
"rimraf": "3.0.2",
|
||||
"typescript": "~4.9.5"
|
||||
},
|
||||
"types": "./dist-types/index.d.ts",
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
},
|
||||
"typesVersions": {
|
||||
"<4.0": {
|
||||
"dist-types/*": [
|
||||
"dist-types/ts3.4/*"
|
||||
]
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist-*/**"
|
||||
],
|
||||
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/credential-provider-http",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/aws/aws-sdk-js-v3.git",
|
||||
"directory": "packages/credential-provider-http"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user