import {
EndpointBearer,
HandlerExecutionContext,
RequestSerializer,
SerializeHandler,
SerializeHandlerArguments,
SerializeHandlerOutput,
SerializeMiddleware,
} from "@aws-sdk/types";
export const serializerMiddleware =
(
options: RuntimeUtils,
serializer: RequestSerializer
): SerializeMiddleware =>
(next: SerializeHandler, context: HandlerExecutionContext): SerializeHandler =>
async (args: SerializeHandlerArguments): Promise> => {
const request = await serializer(args.input, options);
return next({
...args,
request,
});
};