Quiero configurar algunas cookies del servidor Express, pero quiero hacerlo en una función. No estoy seguro de qué es internamente http ServerResponse, pero si configuro un encabezado dentro de la función, ese encabezado no está disponible fuera de ella. Por ejemplo, en el controlador
mySetHeader(res); // if I check res here there is NO header function mySetHeader(res) { res.setHeader('Set-Cookie', serialize('my-cookie', 'my-cookie-value', { path: '/' })); }Por otro lado si devuelvo res, funciona
res = mySetHeader(res); // if I check res here there IS a header function mySetHeader(res) { res.setHeader('Set-Cookie', serialize('my-cookie', 'my-cookie-value', { path: '/' })); return res; }He buscado rápidamente algunos ejemplos en los que se pasa res a una función, pero no he encontrado mucho. Me pregunto si este es un patrón aceptable o si debería hacerlo de otra manera. Tal vez a través de un middleware o algo
Lo siguiente funciona para mí:
function mySetHeader(res) { res.setHeader("A", "B"); } app.use(function(req, res) { mySetHeader(res); res.end(); })El encabezado se establece como se esperaba.
Tal vez necesite compartir más de su código.