22 lines
1.3 KiB
JavaScript
22 lines
1.3 KiB
JavaScript
|
import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from "@aws-sdk/region-config-resolver";
|
||
|
import { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from "@smithy/protocol-http";
|
||
|
import { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from "@smithy/smithy-client";
|
||
|
import { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from "./auth/httpAuthExtensionConfiguration";
|
||
|
const asPartial = (t) => t;
|
||
|
export const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
|
||
|
const extensionConfiguration = {
|
||
|
...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),
|
||
|
...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),
|
||
|
...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),
|
||
|
...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),
|
||
|
};
|
||
|
extensions.forEach((extension) => extension.configure(extensionConfiguration));
|
||
|
return {
|
||
|
...runtimeConfig,
|
||
|
...resolveAwsRegionExtensionConfiguration(extensionConfiguration),
|
||
|
...resolveDefaultRuntimeConfig(extensionConfiguration),
|
||
|
...resolveHttpHandlerRuntimeConfig(extensionConfiguration),
|
||
|
...resolveHttpAuthRuntimeConfig(extensionConfiguration),
|
||
|
};
|
||
|
};
|