diff --git a/jest-helpers/api-gateway-v2-event.js b/jest-helpers/api-gateway-v2-event.js index d31e3847..0a917231 100644 --- a/jest-helpers/api-gateway-v2-event.js +++ b/jest-helpers/api-gateway-v2-event.js @@ -102,6 +102,7 @@ function makeApiGatewayV2Response (values = {}, { } values.headers = convertMultiValueHeadersToHeaders({ multiValueHeaders: values.multiValueHeaders }) delete values.multiValueHeaders + delete values.headers['set-cookie'] if (shouldConvertContentLengthToInt) { // APIGWV2 returns content-length as a number instead of a string under certain conditions: diff --git a/src/event-sources/aws/api-gateway-v2.js b/src/event-sources/aws/api-gateway-v2.js index 334676ad..0fb30640 100644 --- a/src/event-sources/aws/api-gateway-v2.js +++ b/src/event-sources/aws/api-gateway-v2.js @@ -62,8 +62,10 @@ function getResponseToApiGateway ({ isBase64Encoded } - if (headers['set-cookie']) { - responseToApiGateway.cookies = headers['set-cookie'] + const cookies = headers['set-cookie'] + if (cookies) { + responseToApiGateway.cookies = Array.isArray(cookies) ? cookies : [cookies] + delete headers['set-cookie'] } responseToApiGateway.headers = getCommaDelimitedHeaders({ headersMap: headers })