21 lines
1.3 KiB
JavaScript
21 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),
|
|
};
|
|
};
|