Skip to content

Commit a5cb5b5

Browse files
feat: support both enable/disable attribute for multi value headers on ALB (#392)
1 parent 37539fb commit a5cb5b5

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/event-sources/aws/alb.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,24 @@ const getRequestValuesFromAlbEvent = ({ event }) => {
3838
}
3939

4040
const getResponseToAlb = ({
41+
event,
4142
statusCode,
4243
body,
43-
headers,
44+
headers: responseHeaders,
4445
isBase64Encoded
4546
}) => {
46-
const multiValueHeaders = getMultiValueHeaders({ headers })
47+
const multiValueHeaders = !event.headers ? getMultiValueHeaders({ headers: responseHeaders }) : undefined
48+
const headers = event.headers
49+
? Object.entries(responseHeaders).reduce((acc, [k, v]) => {
50+
acc[k] = Array.isArray(v) ? v[0] : v
51+
return acc
52+
}, {})
53+
: undefined
4754

4855
return {
4956
statusCode,
5057
body,
58+
headers,
5159
multiValueHeaders,
5260
isBase64Encoded
5361
}

src/transport.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ function forwardResponse ({
1010
response,
1111
resolver,
1212
eventSource,
13+
event,
1314
log
1415
}) {
1516
const statusCode = response.statusCode
@@ -30,6 +31,7 @@ function forwardResponse ({
3031
})
3132

3233
const successResponse = eventSource.getResponse({
34+
event,
3335
statusCode,
3436
body,
3537
headers,
@@ -158,6 +160,7 @@ async function forwardRequestToNodeServer ({
158160
response,
159161
resolver,
160162
eventSource,
163+
event,
161164
log
162165
})
163166
return response

0 commit comments

Comments
 (0)