1 | const httpEventNormalizerMiddleware = () => {
|
2 | const httpEventNormalizerMiddlewareBefore = async (request) => {
|
3 | const { event } = request
|
4 |
|
5 | const version = pickVersion(event)
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | if (version === '1.0') {
|
11 | event.multiValueQueryStringParameters ??= {}
|
12 | } else if (version === 'vpc') {
|
13 | event.queryStringParameters = event.query_string_parameters
|
14 | event.isBase64Encoded = event.is_base64_encoded
|
15 | }
|
16 |
|
17 |
|
18 | event.pathParameters ??= {}
|
19 | event.queryStringParameters ??= {}
|
20 | }
|
21 |
|
22 | return {
|
23 | before: httpEventNormalizerMiddlewareBefore
|
24 | }
|
25 | }
|
26 |
|
27 | const pickVersion = (event) => {
|
28 |
|
29 | return event.version ?? (event.method ? 'vpc' : '1.0')
|
30 | }
|
31 |
|
32 | export default httpEventNormalizerMiddleware
|