CodeGenieApp / CodeGenieApp/serverless-express
Support for Cloudfront as event source
- Lenguaje dominante
- JavaScript
- Estrellas
- 5.3k
- Forks
- 676
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
I've got requests passing through a Cloudfront distribution directly to a lambda, no cache, passing all request headers with it. I'm using this approach because API Gateway and ALB are both overkill for my use-case, simply need a public endpoint with custom domain compatibility, hence Cloudfront.
Issue is that this library produces a `Unable to determine event source based on event` error in this setup. Having a look at the code it seems [here](https://github.com/vendia/serverless-express/blob/75cfbffeb3fd030695b9587a75300c7b8012ac6a/src/event-sources/utils.js#L70) that there is no conditional to detect this circumstance.
Since I'm passing all headers directly through Cloudfront, I assume that the event in this case looks a lot like it came directly from the client, rather than something triggered through another cloud service. This seems to me perhaps as a valid default case to design for in this library, in the absence of any other forwarders?
Guía de contribución
Línea de trabajo
Comienza en src/event-sources/utils.js alrededor de la línea 70, donde la detección del origen del evento falla actualmente para la solicitud de CloudFront-to-Lambda descrita. Reproduce o inspecciona un evento en el que CloudFront reenvíe todos los headers y, a continuación, define el comportamiento de detección necesario para este caso de endpoint directo. Se considera completado cuando el evento se acepta sin el error "Unable to determine event source" y el comportamiento relevante está cubierto por tests, si el repositorio los proporciona.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- aws, express, javascript, node.js
- Área
- api, backend, cloud
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100