Tengo una ruta de verificación de estado para mi aplicación que usamos para verificar el estado de la aplicación, es una ruta GET pero enviamos una llamada HTTP HEAD a la misma ruta pero obtengo el error ERR_STREAM_WRITE_AFTER_END . Al profundizar en eso, descubrí que cada vez que intento enviar datos de respuesta para el tipo de llamada HEAD , aparece este error, pero no pude encontrar el motivo real del mismo. ¿Alguien puede explicar por qué se está comportando de esta manera? El código de ejemplo se proporciona a continuación.
Código con error, está dando error incluso con res.json y res.send
router.get('/health', function (req, res) { res.send({ message: "working great!!!" }); res.end(); }); Actualización 1 -> Después de eliminar res.send , funciona bien, pero aún me interesa saber por qué al usar res.send , está dando el error. en la llamada HTTP HEAD , el cliente funciona como se esperaba, está ignorando el response body pero ¿por qué en el sever side recibimos este error?
Elimine el res.end() podría resolver el problema
Y puedes probar esto
router.route("/health").get(function (req, res) { res.send({ message: "working great!!!" }); });