16 lines
551 B
JavaScript
16 lines
551 B
JavaScript
import { toEndpointV1 } from "@smithy/core/endpoints";
|
|
export const serializerMiddleware = (options, serializer) => (next, context) => async (args) => {
|
|
const endpointConfig = options;
|
|
const endpoint = context.endpointV2
|
|
? async () => toEndpointV1(context.endpointV2)
|
|
: endpointConfig.endpoint;
|
|
if (!endpoint) {
|
|
throw new Error("No valid endpoint provider available.");
|
|
}
|
|
const request = await serializer(args.input, { ...options, endpoint });
|
|
return next({
|
|
...args,
|
|
request,
|
|
});
|
|
};
|