import { AwsSdkSigV4Signer } from "@aws-sdk/core/httpAuthSchemes"; import { AwsJson1_1Protocol } from "@aws-sdk/core/protocols"; import { NoOpLogger } from "@smithy/core/client"; import { parseUrl } from "@smithy/core/protocols"; import { fromBase64, fromUtf8, toBase64, toUtf8 } from "@smithy/core/serde"; import { defaultFirehoseHttpAuthSchemeProvider } from "./auth/httpAuthSchemeProvider"; import { defaultEndpointResolver } from "./endpoint/endpointResolver"; import { errorTypeRegistries } from "./schemas/schemas_0"; export const getRuntimeConfig = (config) => { return { apiVersion: "2015-08-04", base64Decoder: config?.base64Decoder ?? fromBase64, base64Encoder: config?.base64Encoder ?? toBase64, disableHostPrefix: config?.disableHostPrefix ?? false, endpointProvider: config?.endpointProvider ?? defaultEndpointResolver, extensions: config?.extensions ?? [], httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultFirehoseHttpAuthSchemeProvider, httpAuthSchemes: config?.httpAuthSchemes ?? [ { schemeId: "aws.auth#sigv4", identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), signer: new AwsSdkSigV4Signer(), }, ], logger: config?.logger ?? new NoOpLogger(), protocol: config?.protocol ?? AwsJson1_1Protocol, protocolSettings: config?.protocolSettings ?? { defaultNamespace: "com.amazonaws.firehose", errorTypeRegistries, xmlNamespace: "http://firehose.amazonaws.com/doc/2015-08-04", version: "2015-08-04", serviceTarget: "Firehose_20150804", }, serviceId: config?.serviceId ?? "Firehose", urlParser: config?.urlParser ?? parseUrl, utf8Decoder: config?.utf8Decoder ?? fromUtf8, utf8Encoder: config?.utf8Encoder ?? toUtf8, }; };