working rss feed to nostr publish
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
import { createAggregatedClient } from "@smithy/smithy-client";
|
||||
import { GetRoleCredentialsCommand, } from "./commands/GetRoleCredentialsCommand";
|
||||
import { ListAccountRolesCommand, } from "./commands/ListAccountRolesCommand";
|
||||
import { ListAccountsCommand, } from "./commands/ListAccountsCommand";
|
||||
import { LogoutCommand } from "./commands/LogoutCommand";
|
||||
import { SSOClient } from "./SSOClient";
|
||||
const commands = {
|
||||
GetRoleCredentialsCommand,
|
||||
ListAccountRolesCommand,
|
||||
ListAccountsCommand,
|
||||
LogoutCommand,
|
||||
};
|
||||
export class SSO extends SSOClient {
|
||||
}
|
||||
createAggregatedClient(commands, SSO);
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
import { getHostHeaderPlugin, resolveHostHeaderConfig, } from "@aws-sdk/middleware-host-header";
|
||||
import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
|
||||
import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
|
||||
import { getUserAgentPlugin, resolveUserAgentConfig, } from "@aws-sdk/middleware-user-agent";
|
||||
import { resolveRegionConfig } from "@smithy/config-resolver";
|
||||
import { getContentLengthPlugin } from "@smithy/middleware-content-length";
|
||||
import { resolveEndpointConfig } from "@smithy/middleware-endpoint";
|
||||
import { getRetryPlugin, resolveRetryConfig } from "@smithy/middleware-retry";
|
||||
import { Client as __Client, } from "@smithy/smithy-client";
|
||||
import { resolveClientEndpointParameters, } from "./endpoint/EndpointParameters";
|
||||
import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
|
||||
import { resolveRuntimeExtensions } from "./runtimeExtensions";
|
||||
export { __Client };
|
||||
export class SSOClient extends __Client {
|
||||
constructor(...[configuration]) {
|
||||
const _config_0 = __getRuntimeConfig(configuration || {});
|
||||
const _config_1 = resolveClientEndpointParameters(_config_0);
|
||||
const _config_2 = resolveRegionConfig(_config_1);
|
||||
const _config_3 = resolveEndpointConfig(_config_2);
|
||||
const _config_4 = resolveRetryConfig(_config_3);
|
||||
const _config_5 = resolveHostHeaderConfig(_config_4);
|
||||
const _config_6 = resolveUserAgentConfig(_config_5);
|
||||
const _config_7 = resolveRuntimeExtensions(_config_6, configuration?.extensions || []);
|
||||
super(_config_7);
|
||||
this.config = _config_7;
|
||||
this.middlewareStack.use(getRetryPlugin(this.config));
|
||||
this.middlewareStack.use(getContentLengthPlugin(this.config));
|
||||
this.middlewareStack.use(getHostHeaderPlugin(this.config));
|
||||
this.middlewareStack.use(getLoggerPlugin(this.config));
|
||||
this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
|
||||
this.middlewareStack.use(getUserAgentPlugin(this.config));
|
||||
}
|
||||
destroy() {
|
||||
super.destroy();
|
||||
}
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
|
||||
import { getSerdePlugin } from "@smithy/middleware-serde";
|
||||
import { Command as $Command } from "@smithy/smithy-client";
|
||||
import { SMITHY_CONTEXT_KEY, } from "@smithy/types";
|
||||
import { GetRoleCredentialsRequestFilterSensitiveLog, GetRoleCredentialsResponseFilterSensitiveLog, } from "../models/models_0";
|
||||
import { de_GetRoleCredentialsCommand, se_GetRoleCredentialsCommand } from "../protocols/Aws_restJson1";
|
||||
export { $Command };
|
||||
export class GetRoleCredentialsCommand extends $Command {
|
||||
static getEndpointParameterInstructions() {
|
||||
return {
|
||||
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
||||
Endpoint: { type: "builtInParams", name: "endpoint" },
|
||||
Region: { type: "builtInParams", name: "region" },
|
||||
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
||||
};
|
||||
}
|
||||
constructor(input) {
|
||||
super();
|
||||
this.input = input;
|
||||
}
|
||||
resolveMiddleware(clientStack, configuration, options) {
|
||||
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
|
||||
this.middlewareStack.use(getEndpointPlugin(configuration, GetRoleCredentialsCommand.getEndpointParameterInstructions()));
|
||||
const stack = clientStack.concat(this.middlewareStack);
|
||||
const { logger } = configuration;
|
||||
const clientName = "SSOClient";
|
||||
const commandName = "GetRoleCredentialsCommand";
|
||||
const handlerExecutionContext = {
|
||||
logger,
|
||||
clientName,
|
||||
commandName,
|
||||
inputFilterSensitiveLog: GetRoleCredentialsRequestFilterSensitiveLog,
|
||||
outputFilterSensitiveLog: GetRoleCredentialsResponseFilterSensitiveLog,
|
||||
[SMITHY_CONTEXT_KEY]: {
|
||||
service: "SWBPortalService",
|
||||
operation: "GetRoleCredentials",
|
||||
},
|
||||
};
|
||||
const { requestHandler } = configuration;
|
||||
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
||||
}
|
||||
serialize(input, context) {
|
||||
return se_GetRoleCredentialsCommand(input, context);
|
||||
}
|
||||
deserialize(output, context) {
|
||||
return de_GetRoleCredentialsCommand(output, context);
|
||||
}
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
|
||||
import { getSerdePlugin } from "@smithy/middleware-serde";
|
||||
import { Command as $Command } from "@smithy/smithy-client";
|
||||
import { SMITHY_CONTEXT_KEY, } from "@smithy/types";
|
||||
import { ListAccountRolesRequestFilterSensitiveLog, } from "../models/models_0";
|
||||
import { de_ListAccountRolesCommand, se_ListAccountRolesCommand } from "../protocols/Aws_restJson1";
|
||||
export { $Command };
|
||||
export class ListAccountRolesCommand extends $Command {
|
||||
static getEndpointParameterInstructions() {
|
||||
return {
|
||||
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
||||
Endpoint: { type: "builtInParams", name: "endpoint" },
|
||||
Region: { type: "builtInParams", name: "region" },
|
||||
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
||||
};
|
||||
}
|
||||
constructor(input) {
|
||||
super();
|
||||
this.input = input;
|
||||
}
|
||||
resolveMiddleware(clientStack, configuration, options) {
|
||||
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
|
||||
this.middlewareStack.use(getEndpointPlugin(configuration, ListAccountRolesCommand.getEndpointParameterInstructions()));
|
||||
const stack = clientStack.concat(this.middlewareStack);
|
||||
const { logger } = configuration;
|
||||
const clientName = "SSOClient";
|
||||
const commandName = "ListAccountRolesCommand";
|
||||
const handlerExecutionContext = {
|
||||
logger,
|
||||
clientName,
|
||||
commandName,
|
||||
inputFilterSensitiveLog: ListAccountRolesRequestFilterSensitiveLog,
|
||||
outputFilterSensitiveLog: (_) => _,
|
||||
[SMITHY_CONTEXT_KEY]: {
|
||||
service: "SWBPortalService",
|
||||
operation: "ListAccountRoles",
|
||||
},
|
||||
};
|
||||
const { requestHandler } = configuration;
|
||||
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
||||
}
|
||||
serialize(input, context) {
|
||||
return se_ListAccountRolesCommand(input, context);
|
||||
}
|
||||
deserialize(output, context) {
|
||||
return de_ListAccountRolesCommand(output, context);
|
||||
}
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
|
||||
import { getSerdePlugin } from "@smithy/middleware-serde";
|
||||
import { Command as $Command } from "@smithy/smithy-client";
|
||||
import { SMITHY_CONTEXT_KEY, } from "@smithy/types";
|
||||
import { ListAccountsRequestFilterSensitiveLog } from "../models/models_0";
|
||||
import { de_ListAccountsCommand, se_ListAccountsCommand } from "../protocols/Aws_restJson1";
|
||||
export { $Command };
|
||||
export class ListAccountsCommand extends $Command {
|
||||
static getEndpointParameterInstructions() {
|
||||
return {
|
||||
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
||||
Endpoint: { type: "builtInParams", name: "endpoint" },
|
||||
Region: { type: "builtInParams", name: "region" },
|
||||
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
||||
};
|
||||
}
|
||||
constructor(input) {
|
||||
super();
|
||||
this.input = input;
|
||||
}
|
||||
resolveMiddleware(clientStack, configuration, options) {
|
||||
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
|
||||
this.middlewareStack.use(getEndpointPlugin(configuration, ListAccountsCommand.getEndpointParameterInstructions()));
|
||||
const stack = clientStack.concat(this.middlewareStack);
|
||||
const { logger } = configuration;
|
||||
const clientName = "SSOClient";
|
||||
const commandName = "ListAccountsCommand";
|
||||
const handlerExecutionContext = {
|
||||
logger,
|
||||
clientName,
|
||||
commandName,
|
||||
inputFilterSensitiveLog: ListAccountsRequestFilterSensitiveLog,
|
||||
outputFilterSensitiveLog: (_) => _,
|
||||
[SMITHY_CONTEXT_KEY]: {
|
||||
service: "SWBPortalService",
|
||||
operation: "ListAccounts",
|
||||
},
|
||||
};
|
||||
const { requestHandler } = configuration;
|
||||
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
||||
}
|
||||
serialize(input, context) {
|
||||
return se_ListAccountsCommand(input, context);
|
||||
}
|
||||
deserialize(output, context) {
|
||||
return de_ListAccountsCommand(output, context);
|
||||
}
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
|
||||
import { getSerdePlugin } from "@smithy/middleware-serde";
|
||||
import { Command as $Command } from "@smithy/smithy-client";
|
||||
import { SMITHY_CONTEXT_KEY, } from "@smithy/types";
|
||||
import { LogoutRequestFilterSensitiveLog } from "../models/models_0";
|
||||
import { de_LogoutCommand, se_LogoutCommand } from "../protocols/Aws_restJson1";
|
||||
export { $Command };
|
||||
export class LogoutCommand extends $Command {
|
||||
static getEndpointParameterInstructions() {
|
||||
return {
|
||||
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
||||
Endpoint: { type: "builtInParams", name: "endpoint" },
|
||||
Region: { type: "builtInParams", name: "region" },
|
||||
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
||||
};
|
||||
}
|
||||
constructor(input) {
|
||||
super();
|
||||
this.input = input;
|
||||
}
|
||||
resolveMiddleware(clientStack, configuration, options) {
|
||||
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
|
||||
this.middlewareStack.use(getEndpointPlugin(configuration, LogoutCommand.getEndpointParameterInstructions()));
|
||||
const stack = clientStack.concat(this.middlewareStack);
|
||||
const { logger } = configuration;
|
||||
const clientName = "SSOClient";
|
||||
const commandName = "LogoutCommand";
|
||||
const handlerExecutionContext = {
|
||||
logger,
|
||||
clientName,
|
||||
commandName,
|
||||
inputFilterSensitiveLog: LogoutRequestFilterSensitiveLog,
|
||||
outputFilterSensitiveLog: (_) => _,
|
||||
[SMITHY_CONTEXT_KEY]: {
|
||||
service: "SWBPortalService",
|
||||
operation: "Logout",
|
||||
},
|
||||
};
|
||||
const { requestHandler } = configuration;
|
||||
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
||||
}
|
||||
serialize(input, context) {
|
||||
return se_LogoutCommand(input, context);
|
||||
}
|
||||
deserialize(output, context) {
|
||||
return de_LogoutCommand(output, context);
|
||||
}
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
export * from "./GetRoleCredentialsCommand";
|
||||
export * from "./ListAccountRolesCommand";
|
||||
export * from "./ListAccountsCommand";
|
||||
export * from "./LogoutCommand";
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
export const resolveClientEndpointParameters = (options) => {
|
||||
return {
|
||||
...options,
|
||||
useDualstackEndpoint: options.useDualstackEndpoint ?? false,
|
||||
useFipsEndpoint: options.useFipsEndpoint ?? false,
|
||||
defaultSigningName: "awsssoportal",
|
||||
};
|
||||
};
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
import { resolveEndpoint } from "@smithy/util-endpoints";
|
||||
import { ruleSet } from "./ruleset";
|
||||
export const defaultEndpointResolver = (endpointParams, context = {}) => {
|
||||
return resolveEndpoint(ruleSet, {
|
||||
endpointParams: endpointParams,
|
||||
logger: context.logger,
|
||||
});
|
||||
};
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
const u = "required", v = "fn", w = "argv", x = "ref";
|
||||
const a = true, b = "isSet", c = "booleanEquals", d = "error", e = "endpoint", f = "tree", g = "PartitionResult", h = "getAttr", i = { [u]: false, "type": "String" }, j = { [u]: true, "default": false, "type": "Boolean" }, k = { [x]: "Endpoint" }, l = { [v]: c, [w]: [{ [x]: "UseFIPS" }, true] }, m = { [v]: c, [w]: [{ [x]: "UseDualStack" }, true] }, n = {}, o = { [v]: h, [w]: [{ [x]: g }, "supportsFIPS"] }, p = { [x]: g }, q = { [v]: c, [w]: [true, { [v]: h, [w]: [p, "supportsDualStack"] }] }, r = [l], s = [m], t = [{ [x]: "Region" }];
|
||||
const _data = { version: "1.0", parameters: { Region: i, UseDualStack: j, UseFIPS: j, Endpoint: i }, rules: [{ conditions: [{ [v]: b, [w]: [k] }], rules: [{ conditions: r, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d }, { conditions: s, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: d }, { endpoint: { url: k, properties: n, headers: n }, type: e }], type: f }, { conditions: [{ [v]: b, [w]: t }], rules: [{ conditions: [{ [v]: "aws.partition", [w]: t, assign: g }], rules: [{ conditions: [l, m], rules: [{ conditions: [{ [v]: c, [w]: [a, o] }, q], rules: [{ endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: d }], type: f }, { conditions: r, rules: [{ conditions: [{ [v]: c, [w]: [o, a] }], rules: [{ conditions: [{ [v]: "stringEquals", [w]: [{ [v]: h, [w]: [p, "name"] }, "aws-us-gov"] }], endpoint: { url: "https://portal.sso.{Region}.amazonaws.com", properties: n, headers: n }, type: e }, { endpoint: { url: "https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "FIPS is enabled but this partition does not support FIPS", type: d }], type: f }, { conditions: s, rules: [{ conditions: [q], rules: [{ endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "DualStack is enabled but this partition does not support DualStack", type: d }], type: f }, { endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", properties: n, headers: n }, type: e }], type: f }], type: f }, { error: "Invalid Configuration: Missing Region", type: d }] };
|
||||
export const ruleSet = _data;
|
||||
+1
@@ -0,0 +1 @@
|
||||
export {};
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
export * from "./SSOClient";
|
||||
export * from "./SSO";
|
||||
export * from "./commands";
|
||||
export * from "./pagination";
|
||||
export * from "./models";
|
||||
import "@aws-sdk/util-endpoints";
|
||||
export { SSOServiceException } from "./models/SSOServiceException";
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
import { ServiceException as __ServiceException, } from "@smithy/smithy-client";
|
||||
export { __ServiceException };
|
||||
export class SSOServiceException extends __ServiceException {
|
||||
constructor(options) {
|
||||
super(options);
|
||||
Object.setPrototypeOf(this, SSOServiceException.prototype);
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
export * from "./models_0";
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
import { SENSITIVE_STRING } from "@smithy/smithy-client";
|
||||
import { SSOServiceException as __BaseException } from "./SSOServiceException";
|
||||
export class InvalidRequestException extends __BaseException {
|
||||
constructor(opts) {
|
||||
super({
|
||||
name: "InvalidRequestException",
|
||||
$fault: "client",
|
||||
...opts,
|
||||
});
|
||||
this.name = "InvalidRequestException";
|
||||
this.$fault = "client";
|
||||
Object.setPrototypeOf(this, InvalidRequestException.prototype);
|
||||
}
|
||||
}
|
||||
export class ResourceNotFoundException extends __BaseException {
|
||||
constructor(opts) {
|
||||
super({
|
||||
name: "ResourceNotFoundException",
|
||||
$fault: "client",
|
||||
...opts,
|
||||
});
|
||||
this.name = "ResourceNotFoundException";
|
||||
this.$fault = "client";
|
||||
Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
|
||||
}
|
||||
}
|
||||
export class TooManyRequestsException extends __BaseException {
|
||||
constructor(opts) {
|
||||
super({
|
||||
name: "TooManyRequestsException",
|
||||
$fault: "client",
|
||||
...opts,
|
||||
});
|
||||
this.name = "TooManyRequestsException";
|
||||
this.$fault = "client";
|
||||
Object.setPrototypeOf(this, TooManyRequestsException.prototype);
|
||||
}
|
||||
}
|
||||
export class UnauthorizedException extends __BaseException {
|
||||
constructor(opts) {
|
||||
super({
|
||||
name: "UnauthorizedException",
|
||||
$fault: "client",
|
||||
...opts,
|
||||
});
|
||||
this.name = "UnauthorizedException";
|
||||
this.$fault = "client";
|
||||
Object.setPrototypeOf(this, UnauthorizedException.prototype);
|
||||
}
|
||||
}
|
||||
export const GetRoleCredentialsRequestFilterSensitiveLog = (obj) => ({
|
||||
...obj,
|
||||
...(obj.accessToken && { accessToken: SENSITIVE_STRING }),
|
||||
});
|
||||
export const RoleCredentialsFilterSensitiveLog = (obj) => ({
|
||||
...obj,
|
||||
...(obj.secretAccessKey && { secretAccessKey: SENSITIVE_STRING }),
|
||||
...(obj.sessionToken && { sessionToken: SENSITIVE_STRING }),
|
||||
});
|
||||
export const GetRoleCredentialsResponseFilterSensitiveLog = (obj) => ({
|
||||
...obj,
|
||||
...(obj.roleCredentials && { roleCredentials: RoleCredentialsFilterSensitiveLog(obj.roleCredentials) }),
|
||||
});
|
||||
export const ListAccountRolesRequestFilterSensitiveLog = (obj) => ({
|
||||
...obj,
|
||||
...(obj.accessToken && { accessToken: SENSITIVE_STRING }),
|
||||
});
|
||||
export const ListAccountsRequestFilterSensitiveLog = (obj) => ({
|
||||
...obj,
|
||||
...(obj.accessToken && { accessToken: SENSITIVE_STRING }),
|
||||
});
|
||||
export const LogoutRequestFilterSensitiveLog = (obj) => ({
|
||||
...obj,
|
||||
...(obj.accessToken && { accessToken: SENSITIVE_STRING }),
|
||||
});
|
||||
+1
@@ -0,0 +1 @@
|
||||
export {};
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
import { ListAccountRolesCommand, } from "../commands/ListAccountRolesCommand";
|
||||
import { SSOClient } from "../SSOClient";
|
||||
const makePagedClientRequest = async (client, input, ...args) => {
|
||||
return await client.send(new ListAccountRolesCommand(input), ...args);
|
||||
};
|
||||
export async function* paginateListAccountRoles(config, input, ...additionalArguments) {
|
||||
let token = config.startingToken || undefined;
|
||||
let hasNext = true;
|
||||
let page;
|
||||
while (hasNext) {
|
||||
input.nextToken = token;
|
||||
input["maxResults"] = config.pageSize;
|
||||
if (config.client instanceof SSOClient) {
|
||||
page = await makePagedClientRequest(config.client, input, ...additionalArguments);
|
||||
}
|
||||
else {
|
||||
throw new Error("Invalid client, expected SSO | SSOClient");
|
||||
}
|
||||
yield page;
|
||||
const prevToken = token;
|
||||
token = page.nextToken;
|
||||
hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
import { ListAccountsCommand, } from "../commands/ListAccountsCommand";
|
||||
import { SSOClient } from "../SSOClient";
|
||||
const makePagedClientRequest = async (client, input, ...args) => {
|
||||
return await client.send(new ListAccountsCommand(input), ...args);
|
||||
};
|
||||
export async function* paginateListAccounts(config, input, ...additionalArguments) {
|
||||
let token = config.startingToken || undefined;
|
||||
let hasNext = true;
|
||||
let page;
|
||||
while (hasNext) {
|
||||
input.nextToken = token;
|
||||
input["maxResults"] = config.pageSize;
|
||||
if (config.client instanceof SSOClient) {
|
||||
page = await makePagedClientRequest(config.client, input, ...additionalArguments);
|
||||
}
|
||||
else {
|
||||
throw new Error("Invalid client, expected SSO | SSOClient");
|
||||
}
|
||||
yield page;
|
||||
const prevToken = token;
|
||||
token = page.nextToken;
|
||||
hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
export * from "./Interfaces";
|
||||
export * from "./ListAccountRolesPaginator";
|
||||
export * from "./ListAccountsPaginator";
|
||||
+356
@@ -0,0 +1,356 @@
|
||||
import { HttpRequest as __HttpRequest } from "@smithy/protocol-http";
|
||||
import { _json, collectBody, decorateServiceException as __decorateServiceException, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, map, take, withBaseException, } from "@smithy/smithy-client";
|
||||
import { InvalidRequestException, ResourceNotFoundException, TooManyRequestsException, UnauthorizedException, } from "../models/models_0";
|
||||
import { SSOServiceException as __BaseException } from "../models/SSOServiceException";
|
||||
export const se_GetRoleCredentialsCommand = async (input, context) => {
|
||||
const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
|
||||
const headers = map({}, isSerializableHeaderValue, {
|
||||
"x-amz-sso_bearer_token": input.accessToken,
|
||||
});
|
||||
const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/federation/credentials";
|
||||
const query = map({
|
||||
role_name: [, __expectNonNull(input.roleName, `roleName`)],
|
||||
account_id: [, __expectNonNull(input.accountId, `accountId`)],
|
||||
});
|
||||
let body;
|
||||
return new __HttpRequest({
|
||||
protocol,
|
||||
hostname,
|
||||
port,
|
||||
method: "GET",
|
||||
headers,
|
||||
path: resolvedPath,
|
||||
query,
|
||||
body,
|
||||
});
|
||||
};
|
||||
export const se_ListAccountRolesCommand = async (input, context) => {
|
||||
const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
|
||||
const headers = map({}, isSerializableHeaderValue, {
|
||||
"x-amz-sso_bearer_token": input.accessToken,
|
||||
});
|
||||
const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/assignment/roles";
|
||||
const query = map({
|
||||
next_token: [, input.nextToken],
|
||||
max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()],
|
||||
account_id: [, __expectNonNull(input.accountId, `accountId`)],
|
||||
});
|
||||
let body;
|
||||
return new __HttpRequest({
|
||||
protocol,
|
||||
hostname,
|
||||
port,
|
||||
method: "GET",
|
||||
headers,
|
||||
path: resolvedPath,
|
||||
query,
|
||||
body,
|
||||
});
|
||||
};
|
||||
export const se_ListAccountsCommand = async (input, context) => {
|
||||
const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
|
||||
const headers = map({}, isSerializableHeaderValue, {
|
||||
"x-amz-sso_bearer_token": input.accessToken,
|
||||
});
|
||||
const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/assignment/accounts";
|
||||
const query = map({
|
||||
next_token: [, input.nextToken],
|
||||
max_result: [() => input.maxResults !== void 0, () => input.maxResults.toString()],
|
||||
});
|
||||
let body;
|
||||
return new __HttpRequest({
|
||||
protocol,
|
||||
hostname,
|
||||
port,
|
||||
method: "GET",
|
||||
headers,
|
||||
path: resolvedPath,
|
||||
query,
|
||||
body,
|
||||
});
|
||||
};
|
||||
export const se_LogoutCommand = async (input, context) => {
|
||||
const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
|
||||
const headers = map({}, isSerializableHeaderValue, {
|
||||
"x-amz-sso_bearer_token": input.accessToken,
|
||||
});
|
||||
const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/logout";
|
||||
let body;
|
||||
return new __HttpRequest({
|
||||
protocol,
|
||||
hostname,
|
||||
port,
|
||||
method: "POST",
|
||||
headers,
|
||||
path: resolvedPath,
|
||||
body,
|
||||
});
|
||||
};
|
||||
export const de_GetRoleCredentialsCommand = async (output, context) => {
|
||||
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
||||
return de_GetRoleCredentialsCommandError(output, context);
|
||||
}
|
||||
const contents = map({
|
||||
$metadata: deserializeMetadata(output),
|
||||
});
|
||||
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
|
||||
const doc = take(data, {
|
||||
roleCredentials: _json,
|
||||
});
|
||||
Object.assign(contents, doc);
|
||||
return contents;
|
||||
};
|
||||
const de_GetRoleCredentialsCommandError = async (output, context) => {
|
||||
const parsedOutput = {
|
||||
...output,
|
||||
body: await parseErrorBody(output.body, context),
|
||||
};
|
||||
const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
|
||||
switch (errorCode) {
|
||||
case "InvalidRequestException":
|
||||
case "com.amazonaws.sso#InvalidRequestException":
|
||||
throw await de_InvalidRequestExceptionRes(parsedOutput, context);
|
||||
case "ResourceNotFoundException":
|
||||
case "com.amazonaws.sso#ResourceNotFoundException":
|
||||
throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
|
||||
case "TooManyRequestsException":
|
||||
case "com.amazonaws.sso#TooManyRequestsException":
|
||||
throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
|
||||
case "UnauthorizedException":
|
||||
case "com.amazonaws.sso#UnauthorizedException":
|
||||
throw await de_UnauthorizedExceptionRes(parsedOutput, context);
|
||||
default:
|
||||
const parsedBody = parsedOutput.body;
|
||||
return throwDefaultError({
|
||||
output,
|
||||
parsedBody,
|
||||
errorCode,
|
||||
});
|
||||
}
|
||||
};
|
||||
export const de_ListAccountRolesCommand = async (output, context) => {
|
||||
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
||||
return de_ListAccountRolesCommandError(output, context);
|
||||
}
|
||||
const contents = map({
|
||||
$metadata: deserializeMetadata(output),
|
||||
});
|
||||
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
|
||||
const doc = take(data, {
|
||||
nextToken: __expectString,
|
||||
roleList: _json,
|
||||
});
|
||||
Object.assign(contents, doc);
|
||||
return contents;
|
||||
};
|
||||
const de_ListAccountRolesCommandError = async (output, context) => {
|
||||
const parsedOutput = {
|
||||
...output,
|
||||
body: await parseErrorBody(output.body, context),
|
||||
};
|
||||
const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
|
||||
switch (errorCode) {
|
||||
case "InvalidRequestException":
|
||||
case "com.amazonaws.sso#InvalidRequestException":
|
||||
throw await de_InvalidRequestExceptionRes(parsedOutput, context);
|
||||
case "ResourceNotFoundException":
|
||||
case "com.amazonaws.sso#ResourceNotFoundException":
|
||||
throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
|
||||
case "TooManyRequestsException":
|
||||
case "com.amazonaws.sso#TooManyRequestsException":
|
||||
throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
|
||||
case "UnauthorizedException":
|
||||
case "com.amazonaws.sso#UnauthorizedException":
|
||||
throw await de_UnauthorizedExceptionRes(parsedOutput, context);
|
||||
default:
|
||||
const parsedBody = parsedOutput.body;
|
||||
return throwDefaultError({
|
||||
output,
|
||||
parsedBody,
|
||||
errorCode,
|
||||
});
|
||||
}
|
||||
};
|
||||
export const de_ListAccountsCommand = async (output, context) => {
|
||||
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
||||
return de_ListAccountsCommandError(output, context);
|
||||
}
|
||||
const contents = map({
|
||||
$metadata: deserializeMetadata(output),
|
||||
});
|
||||
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
|
||||
const doc = take(data, {
|
||||
accountList: _json,
|
||||
nextToken: __expectString,
|
||||
});
|
||||
Object.assign(contents, doc);
|
||||
return contents;
|
||||
};
|
||||
const de_ListAccountsCommandError = async (output, context) => {
|
||||
const parsedOutput = {
|
||||
...output,
|
||||
body: await parseErrorBody(output.body, context),
|
||||
};
|
||||
const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
|
||||
switch (errorCode) {
|
||||
case "InvalidRequestException":
|
||||
case "com.amazonaws.sso#InvalidRequestException":
|
||||
throw await de_InvalidRequestExceptionRes(parsedOutput, context);
|
||||
case "ResourceNotFoundException":
|
||||
case "com.amazonaws.sso#ResourceNotFoundException":
|
||||
throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
|
||||
case "TooManyRequestsException":
|
||||
case "com.amazonaws.sso#TooManyRequestsException":
|
||||
throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
|
||||
case "UnauthorizedException":
|
||||
case "com.amazonaws.sso#UnauthorizedException":
|
||||
throw await de_UnauthorizedExceptionRes(parsedOutput, context);
|
||||
default:
|
||||
const parsedBody = parsedOutput.body;
|
||||
return throwDefaultError({
|
||||
output,
|
||||
parsedBody,
|
||||
errorCode,
|
||||
});
|
||||
}
|
||||
};
|
||||
export const de_LogoutCommand = async (output, context) => {
|
||||
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
||||
return de_LogoutCommandError(output, context);
|
||||
}
|
||||
const contents = map({
|
||||
$metadata: deserializeMetadata(output),
|
||||
});
|
||||
await collectBody(output.body, context);
|
||||
return contents;
|
||||
};
|
||||
const de_LogoutCommandError = async (output, context) => {
|
||||
const parsedOutput = {
|
||||
...output,
|
||||
body: await parseErrorBody(output.body, context),
|
||||
};
|
||||
const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
|
||||
switch (errorCode) {
|
||||
case "InvalidRequestException":
|
||||
case "com.amazonaws.sso#InvalidRequestException":
|
||||
throw await de_InvalidRequestExceptionRes(parsedOutput, context);
|
||||
case "TooManyRequestsException":
|
||||
case "com.amazonaws.sso#TooManyRequestsException":
|
||||
throw await de_TooManyRequestsExceptionRes(parsedOutput, context);
|
||||
case "UnauthorizedException":
|
||||
case "com.amazonaws.sso#UnauthorizedException":
|
||||
throw await de_UnauthorizedExceptionRes(parsedOutput, context);
|
||||
default:
|
||||
const parsedBody = parsedOutput.body;
|
||||
return throwDefaultError({
|
||||
output,
|
||||
parsedBody,
|
||||
errorCode,
|
||||
});
|
||||
}
|
||||
};
|
||||
const throwDefaultError = withBaseException(__BaseException);
|
||||
const de_InvalidRequestExceptionRes = async (parsedOutput, context) => {
|
||||
const contents = map({});
|
||||
const data = parsedOutput.body;
|
||||
const doc = take(data, {
|
||||
message: __expectString,
|
||||
});
|
||||
Object.assign(contents, doc);
|
||||
const exception = new InvalidRequestException({
|
||||
$metadata: deserializeMetadata(parsedOutput),
|
||||
...contents,
|
||||
});
|
||||
return __decorateServiceException(exception, parsedOutput.body);
|
||||
};
|
||||
const de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {
|
||||
const contents = map({});
|
||||
const data = parsedOutput.body;
|
||||
const doc = take(data, {
|
||||
message: __expectString,
|
||||
});
|
||||
Object.assign(contents, doc);
|
||||
const exception = new ResourceNotFoundException({
|
||||
$metadata: deserializeMetadata(parsedOutput),
|
||||
...contents,
|
||||
});
|
||||
return __decorateServiceException(exception, parsedOutput.body);
|
||||
};
|
||||
const de_TooManyRequestsExceptionRes = async (parsedOutput, context) => {
|
||||
const contents = map({});
|
||||
const data = parsedOutput.body;
|
||||
const doc = take(data, {
|
||||
message: __expectString,
|
||||
});
|
||||
Object.assign(contents, doc);
|
||||
const exception = new TooManyRequestsException({
|
||||
$metadata: deserializeMetadata(parsedOutput),
|
||||
...contents,
|
||||
});
|
||||
return __decorateServiceException(exception, parsedOutput.body);
|
||||
};
|
||||
const de_UnauthorizedExceptionRes = async (parsedOutput, context) => {
|
||||
const contents = map({});
|
||||
const data = parsedOutput.body;
|
||||
const doc = take(data, {
|
||||
message: __expectString,
|
||||
});
|
||||
Object.assign(contents, doc);
|
||||
const exception = new UnauthorizedException({
|
||||
$metadata: deserializeMetadata(parsedOutput),
|
||||
...contents,
|
||||
});
|
||||
return __decorateServiceException(exception, parsedOutput.body);
|
||||
};
|
||||
const deserializeMetadata = (output) => ({
|
||||
httpStatusCode: output.statusCode,
|
||||
requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
|
||||
extendedRequestId: output.headers["x-amz-id-2"],
|
||||
cfId: output.headers["x-amz-cf-id"],
|
||||
});
|
||||
const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));
|
||||
const isSerializableHeaderValue = (value) => value !== undefined &&
|
||||
value !== null &&
|
||||
value !== "" &&
|
||||
(!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) &&
|
||||
(!Object.getOwnPropertyNames(value).includes("size") || value.size != 0);
|
||||
const parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
|
||||
if (encoded.length) {
|
||||
return JSON.parse(encoded);
|
||||
}
|
||||
return {};
|
||||
});
|
||||
const parseErrorBody = async (errorBody, context) => {
|
||||
const value = await parseBody(errorBody, context);
|
||||
value.message = value.message ?? value.Message;
|
||||
return value;
|
||||
};
|
||||
const loadRestJsonErrorCode = (output, data) => {
|
||||
const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
|
||||
const sanitizeErrorCode = (rawValue) => {
|
||||
let cleanValue = rawValue;
|
||||
if (typeof cleanValue === "number") {
|
||||
cleanValue = cleanValue.toString();
|
||||
}
|
||||
if (cleanValue.indexOf(",") >= 0) {
|
||||
cleanValue = cleanValue.split(",")[0];
|
||||
}
|
||||
if (cleanValue.indexOf(":") >= 0) {
|
||||
cleanValue = cleanValue.split(":")[0];
|
||||
}
|
||||
if (cleanValue.indexOf("#") >= 0) {
|
||||
cleanValue = cleanValue.split("#")[1];
|
||||
}
|
||||
return cleanValue;
|
||||
};
|
||||
const headerKey = findKey(output.headers, "x-amzn-errortype");
|
||||
if (headerKey !== undefined) {
|
||||
return sanitizeErrorCode(output.headers[headerKey]);
|
||||
}
|
||||
if (data.code !== undefined) {
|
||||
return sanitizeErrorCode(data.code);
|
||||
}
|
||||
if (data["__type"] !== undefined) {
|
||||
return sanitizeErrorCode(data["__type"]);
|
||||
}
|
||||
};
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
import packageInfo from "../package.json";
|
||||
import { Sha256 } from "@aws-crypto/sha256-browser";
|
||||
import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
|
||||
import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from "@smithy/config-resolver";
|
||||
import { FetchHttpHandler as RequestHandler, streamCollector } from "@smithy/fetch-http-handler";
|
||||
import { invalidProvider } from "@smithy/invalid-dependency";
|
||||
import { calculateBodyLength } from "@smithy/util-body-length-browser";
|
||||
import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@smithy/util-retry";
|
||||
import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
|
||||
import { loadConfigsForDefaultMode } from "@smithy/smithy-client";
|
||||
import { resolveDefaultsModeConfig } from "@smithy/util-defaults-mode-browser";
|
||||
export const getRuntimeConfig = (config) => {
|
||||
const defaultsMode = resolveDefaultsModeConfig(config);
|
||||
const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
|
||||
const clientSharedValues = getSharedRuntimeConfig(config);
|
||||
return {
|
||||
...clientSharedValues,
|
||||
...config,
|
||||
runtime: "browser",
|
||||
defaultsMode,
|
||||
bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
|
||||
defaultUserAgentProvider: config?.defaultUserAgentProvider ??
|
||||
defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
|
||||
maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
|
||||
region: config?.region ?? invalidProvider("Region is missing"),
|
||||
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
|
||||
retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),
|
||||
sha256: config?.sha256 ?? Sha256,
|
||||
streamCollector: config?.streamCollector ?? streamCollector,
|
||||
useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),
|
||||
useFipsEndpoint: config?.useFipsEndpoint ?? (() => Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT)),
|
||||
};
|
||||
};
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
import packageInfo from "../package.json";
|
||||
import { emitWarningIfUnsupportedVersion as awsCheckVersion } from "@aws-sdk/core";
|
||||
import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
|
||||
import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from "@smithy/config-resolver";
|
||||
import { Hash } from "@smithy/hash-node";
|
||||
import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@smithy/middleware-retry";
|
||||
import { loadConfig as loadNodeConfig } from "@smithy/node-config-provider";
|
||||
import { NodeHttpHandler as RequestHandler, streamCollector } from "@smithy/node-http-handler";
|
||||
import { calculateBodyLength } from "@smithy/util-body-length-node";
|
||||
import { DEFAULT_RETRY_MODE } from "@smithy/util-retry";
|
||||
import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
|
||||
import { loadConfigsForDefaultMode } from "@smithy/smithy-client";
|
||||
import { resolveDefaultsModeConfig } from "@smithy/util-defaults-mode-node";
|
||||
import { emitWarningIfUnsupportedVersion } from "@smithy/smithy-client";
|
||||
export const getRuntimeConfig = (config) => {
|
||||
emitWarningIfUnsupportedVersion(process.version);
|
||||
const defaultsMode = resolveDefaultsModeConfig(config);
|
||||
const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
|
||||
const clientSharedValues = getSharedRuntimeConfig(config);
|
||||
awsCheckVersion(process.version);
|
||||
return {
|
||||
...clientSharedValues,
|
||||
...config,
|
||||
runtime: "node",
|
||||
defaultsMode,
|
||||
bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
|
||||
defaultUserAgentProvider: config?.defaultUserAgentProvider ??
|
||||
defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
|
||||
maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),
|
||||
region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),
|
||||
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
|
||||
retryMode: config?.retryMode ??
|
||||
loadNodeConfig({
|
||||
...NODE_RETRY_MODE_CONFIG_OPTIONS,
|
||||
default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
|
||||
}),
|
||||
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
|
||||
streamCollector: config?.streamCollector ?? streamCollector,
|
||||
useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),
|
||||
useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),
|
||||
};
|
||||
};
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
import { Sha256 } from "@aws-crypto/sha256-js";
|
||||
import { getRuntimeConfig as getBrowserRuntimeConfig } from "./runtimeConfig.browser";
|
||||
export const getRuntimeConfig = (config) => {
|
||||
const browserDefaults = getBrowserRuntimeConfig(config);
|
||||
return {
|
||||
...browserDefaults,
|
||||
...config,
|
||||
runtime: "react-native",
|
||||
sha256: config?.sha256 ?? Sha256,
|
||||
};
|
||||
};
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
import { NoOpLogger } from "@smithy/smithy-client";
|
||||
import { parseUrl } from "@smithy/url-parser";
|
||||
import { fromBase64, toBase64 } from "@smithy/util-base64";
|
||||
import { fromUtf8, toUtf8 } from "@smithy/util-utf8";
|
||||
import { defaultEndpointResolver } from "./endpoint/endpointResolver";
|
||||
export const getRuntimeConfig = (config) => {
|
||||
return {
|
||||
apiVersion: "2019-06-10",
|
||||
base64Decoder: config?.base64Decoder ?? fromBase64,
|
||||
base64Encoder: config?.base64Encoder ?? toBase64,
|
||||
disableHostPrefix: config?.disableHostPrefix ?? false,
|
||||
endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,
|
||||
extensions: config?.extensions ?? [],
|
||||
logger: config?.logger ?? new NoOpLogger(),
|
||||
serviceId: config?.serviceId ?? "SSO",
|
||||
urlParser: config?.urlParser ?? parseUrl,
|
||||
utf8Decoder: config?.utf8Decoder ?? fromUtf8,
|
||||
utf8Encoder: config?.utf8Encoder ?? toUtf8,
|
||||
};
|
||||
};
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from "@aws-sdk/region-config-resolver";
|
||||
import { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from "@smithy/protocol-http";
|
||||
import { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from "@smithy/smithy-client";
|
||||
const asPartial = (t) => t;
|
||||
export const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
|
||||
const extensionConfiguration = {
|
||||
...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),
|
||||
...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),
|
||||
...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),
|
||||
};
|
||||
extensions.forEach((extension) => extension.configure(extensionConfiguration));
|
||||
return {
|
||||
...runtimeConfig,
|
||||
...resolveAwsRegionExtensionConfiguration(extensionConfiguration),
|
||||
...resolveDefaultRuntimeConfig(extensionConfiguration),
|
||||
...resolveHttpHandlerRuntimeConfig(extensionConfiguration),
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user