CodeGenieApp / CodeGenieApp/serverless-express
serverless-express callback request
- 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
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