UNPKG

936 BJavaScriptView Raw
1const httpEventNormalizerMiddleware = () => {
2 const httpEventNormalizerMiddlewareBefore = async (request) => {
3 const { event } = request
4
5 const version = pickVersion(event)
6 // VPC Lattice is an http event, however uses a different notation
7 // - query_string_parameters
8 // - is_base64_encoded
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 // event.headers ??= {} // Will always have at least one header
18 event.pathParameters ??= {}
19 event.queryStringParameters ??= {}
20 }
21
22 return {
23 before: httpEventNormalizerMiddlewareBefore
24 }
25}
26
27const pickVersion = (event) => {
28 // '1.0' is a safer default
29 return event.version ?? (event.method ? 'vpc' : '1.0')
30}
31
32export default httpEventNormalizerMiddleware