Cómo obtener tanto el cuerpo analizado como el cuerpo sin procesar en Express

 

 

 

Como obtener tanto el cuerpo analizado como el cuerpo sin procesar en express 1

Descubra cómo obtener tanto el cuerpo analizado como el cuerpo sin procesar en Express con `body-parser`

En una aplicación que estoy construyendo, tuve este problema.

Usando Express, puedo importar body-parserpara analizar el cuerpo como JSON:

import bodyParser from 'body-parser'
app.use(bodyParser.json())

Sin embargo, para integrarlo con la API de pagos de Stripe, tuve la necesidad de exponer el cuerpo sin procesar (no analizado) en un punto final, y no pude descubrir cómo hacerlo, mientras seguía analizando el cuerpo como JSON.

 

Esto funcionó:

app.use(bodyParser.json({ verify: (req, res, buf) = { req.rawBody = buf }}))

Ahora el cuerpo sin procesar está disponible en req.rawBodyy los datos analizados JSON están disponibles en req.body.Te recomendamos Zonas Azules

Desde body-parserGitHub descubrí que esto duplica el uso de RAM para cada solicitud, pero como necesito esta funcionalidad, no tengo otra manera.

Excepto quizás crear un servidor diferente sólo para el webhook de Stripe que quería manejar.

Tips de Node.js




Tal vez te puede interesar:

  1. Introducción a React
  2. Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
  3. Cómo cambiar el valor de un nodo DOM
  4. Cómo comprobar si un elemento DOM tiene una clase

Cómo obtener tanto el cuerpo analizado como el cuerpo sin procesar en Express

Descubra cómo obtener tanto el cuerpo analizado como el cuerpo sin procesar en Express con `body-parser`

programar

es

2025-01-22

 

Como obtener tanto el cuerpo analizado como el cuerpo sin procesar en express 1
Como obtener tanto el cuerpo analizado como el cuerpo sin procesar en express 1

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

 

 

Update cookies preferences