
Felipe Riquelme
PreguntaPor mi lado también estoy recibiendo el error
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at new NodeError (node:internal/errors:371:5)
at ServerResponse.setHeader (node:_http_outgoing:576:11)
En archivo “productos.routes.js” al trazar la caída, puedo ver que se esta saliendo por el el Catch:
router.get(’/:id’, async (req, res, next) => {
try {
const { id } = req.params;
const productos = await service.findOne(id);
res.json(productos);
} catch (error){
console.log(‘Error en Router Productos.’)
next(error);
}
});

Gerardo Miranda
yo lo resolví poniendo un retuen al final del if
function boomErrorHandler(err, req, res, next) { if (err.isBoom) { const { output } = err; res.status(output.statusCode).json(output.payload); return; } next(err); }

juan alberto
supongo que ya lo habrás solucionado, pero para quien no, yo lo solucione metiendo el next(err) dentro de un else en la función boom, quedando de la siguiente manera:
function boomErrorHandler(err, req, res, next) { if (err.isBoom) { const { output } = err; res.status(output.statusCode).json(output.payload); } else { next(err); } }
supongo que llama el errorhandler aun despues de haber retornado ya el error desde el boomErrorHandler.