CodeGenieApp / CodeGenieApp/serverless-express

Support for Cloudfront as event source

Abierto
#583 1 comentario 0 reacciones 0 asignados Ver en GitHub
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.