CodeGenieApp / CodeGenieApp/serverless-express
Support for Cloudfront as event source
- Langage dominant
- JavaScript
- Étoiles
- 5.3k
- Forks
- 676
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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?
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez dans src/event-sources/utils.js vers la ligne 70, où la détection de la source de l’événement échoue actuellement pour la requête CloudFront-to-Lambda décrite. Reproduisez ou inspectez un événement dans lequel CloudFront transmet tous les headers, puis définissez le comportement de détection requis pour ce cas d’endpoint direct. C’est terminé lorsque l’événement est accepté sans l’erreur "Unable to determine event source" et que le comportement concerné est couvert par des tests, si le repository en fournit.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- aws, express, javascript, node.js
- Domaine
- api, backend, cloud
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100