UNPKG

1.02 kBJavaScriptView Raw
1const httpEventNormalizerMiddleware = ()=>{
2 const httpEventNormalizerMiddlewareBefore = async (request)=>{
3 const { event } = request;
4 const version = pickVersion(event);
5 // VPC Lattice is an http event, however uses a different notation
6 // - query_string_parameters
7 // - is_base64_encoded
8 if (version === '1.0') {
9 event.multiValueQueryStringParameters ??= {};
10 } else if (version === 'vpc') {
11 event.queryStringParameters = event.query_string_parameters;
12 event.isBase64Encoded = event.is_base64_encoded;
13 }
14 // event.headers ??= {} // Will always have at least one header
15 event.pathParameters ??= {};
16 event.queryStringParameters ??= {};
17 };
18 return {
19 before: httpEventNormalizerMiddlewareBefore
20 };
21};
22const pickVersion = (event)=>{
23 // '1.0' is a safer default
24 return event.version ?? (event.method ? 'vpc' : '1.0');
25};
26export default httpEventNormalizerMiddleware;
27