import { getEndpointFromInstructions } from "./adaptors/getEndpointFromInstructions"; export const endpointMiddleware = ({ config, instructions, }) => { return (next, context) => async (args) => { const endpoint = await getEndpointFromInstructions(args.input, { getEndpointParameterInstructions() { return instructions; }, }, { ...config }, context); context.endpointV2 = endpoint; context.authSchemes = endpoint.properties?.authSchemes; const authScheme = context.authSchemes?.[0]; if (authScheme) { context["signing_region"] = authScheme.signingRegion; context["signing_service"] = authScheme.signingName; } return next({ ...args, }); }; };