CodeGenieApp / CodeGenieApp/serverless-express

serverless-express callback request

Abierto
#430 4 comentarios 2 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

s3(image) + cloudfront + lambda@edge
I'm only processing image requests from users authenticated with vanilla http.

*** vanilla-http

xxx.cloudfront.net/image.png

const authUtil = require("./middlewares/auth");

exports.handler = (event, context, callback) => {
const { request, response } = event.Records[0].cf;

result = authUtil(request);

if(result.success) {
callback(null, request);
}
};

// This works well. (image download)

serverless-express

router.get('/:file', async (req, res) => {
const { event, context } = getCurrentInvoke()
const eventRequest = event.Records[0].cf.request;

res.json(eventRequest)
});

// not working
***
{"clientIp":"000.000.000.000","headers":{"host":[{"key":"Host","value":"dl78camcjz7wt.cloudfront.net"}],"user-agent":[{"key":"User-Agent","value":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"}],"
***

I need help to solve this problem.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con el handler de Lambda@Edge y la ruta de Express mostrados en el issue; después, inspecciona cómo getCurrentInvoke() expone event y context en serverless-express. Compara la ruta de callback vanilla-http que funciona con el manejo de la respuesta de la ruta y reproduce la solicitud usando la estructura de evento de CloudFront proporcionada. Se considera terminado cuando la ruta devuelve de forma fiable los datos de request esperados para una solicitud de imagen.

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
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.