@middy/http-event-normalizer
Advanced tools
Comparing version 5.0.0-alpha.1 to 5.0.0-alpha.2
80
index.js
@@ -1,44 +0,40 @@ | ||
const httpEventNormalizerMiddleware = () => { | ||
const httpEventNormalizerMiddlewareBefore = async (request) => { | ||
const { event } = request | ||
const version = pickVersion(event) | ||
const isHttpEvent = isVersionHttpEvent[version]?.(event) | ||
if (!isHttpEvent) { | ||
throw new Error('Unknown http event format', { | ||
cause: { package: '@middy/http-event-normalizer' } | ||
}) | ||
} | ||
// VPC Lattice is an http event, however uses a different notation | ||
// - query_string_parameters | ||
// - is_base64_encoded | ||
if (version === '1.0') { | ||
event.multiValueQueryStringParameters ??= {} | ||
} else if (version === 'vpc') { | ||
event.queryStringParameters = event.query_string_parameters | ||
event.isBase64Encoded = event.is_base64_encoded | ||
} | ||
// event.headers ??= {} // Will always have at least one header | ||
event.pathParameters ??= {} | ||
event.queryStringParameters ??= {} | ||
} | ||
return { | ||
before: httpEventNormalizerMiddlewareBefore | ||
} | ||
} | ||
const pickVersion = (event) => { | ||
// '1.0' is a safer default | ||
return event.version ?? (event.method ? 'vpc' : '1.0') | ||
} | ||
const httpEventNormalizerMiddleware = ()=>{ | ||
const httpEventNormalizerMiddlewareBefore = async (request)=>{ | ||
const { event } = request; | ||
const version = pickVersion(event); | ||
const isHttpEvent = isVersionHttpEvent[version]?.(event); | ||
if (!isHttpEvent) { | ||
throw new Error('Unknown http event format', { | ||
cause: { | ||
package: '@middy/http-event-normalizer' | ||
} | ||
}); | ||
} | ||
// VPC Lattice is an http event, however uses a different notation | ||
// - query_string_parameters | ||
// - is_base64_encoded | ||
if (version === '1.0') { | ||
event.multiValueQueryStringParameters ??= {}; | ||
} else if (version === 'vpc') { | ||
event.queryStringParameters = event.query_string_parameters; | ||
event.isBase64Encoded = event.is_base64_encoded; | ||
} | ||
// event.headers ??= {} // Will always have at least one header | ||
event.pathParameters ??= {}; | ||
event.queryStringParameters ??= {}; | ||
}; | ||
return { | ||
before: httpEventNormalizerMiddlewareBefore | ||
}; | ||
}; | ||
const pickVersion = (event)=>{ | ||
// '1.0' is a safer default | ||
return event.version ?? (event.method ? 'vpc' : '1.0'); | ||
}; | ||
const isVersionHttpEvent = { | ||
'1.0': (event) => typeof event.httpMethod !== 'undefined', | ||
'2.0': (event) => typeof event.requestContext.http.method !== 'undefined', | ||
vpc: (event) => typeof event.method !== 'undefined' | ||
} | ||
'1.0': (event)=>typeof event.httpMethod !== 'undefined', | ||
'2.0': (event)=>typeof event.requestContext.http.method !== 'undefined', | ||
vpc: (event)=>typeof event.method !== 'undefined' | ||
}; | ||
export default httpEventNormalizerMiddleware; | ||
export default httpEventNormalizerMiddleware |
{ | ||
"name": "@middy/http-event-normalizer", | ||
"version": "5.0.0-alpha.1", | ||
"version": "5.0.0-alpha.2", | ||
"description": "Http event normalizer middleware for the middy framework", | ||
@@ -64,5 +64,5 @@ "type": "module", | ||
"devDependencies": { | ||
"@middy/core": "5.0.0-alpha.1", | ||
"@middy/core": "5.0.0-alpha.2", | ||
"@types/aws-lambda": "^8.10.101" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
7775
54