CodeGenieApp / CodeGenieApp/serverless-express

Support for Cloudfront as event source

Ouverte
#583 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.