Ejemplo

El ejemplo siguiente utiliza este módulo junto con el servidor HTTP principal de Node.js para solicitar a un usuario su nombre y mostrarlo de nuevo en futuras visitas.

var cookie = require('cookie');
var escapeHtml = require('escape-html');
var http = require('http');
var url = require('url');

function onRequest(req, res) {
  // Parse the query string 
  var query = url.parse(req.url, true, true).query;

 if (query && query.name) {
    // Set a new cookie with the name 
    res.setHeader('Set-Cookie', cookie.serialize('name', String(query.name), {
      httpOnly: true,
      maxAge: 60 * 60 * 24 * 7 // 1 week 
    }));


   // Redirect back after setting cookie 
    res.statusCode = 302;
    res.setHeader('Location', req.headers.referer || '/');
    res.end();
    return;
  }

 // Parse the cookies on the request 
 var cookies = cookie.parse(req.headers.cookie || '');

 // Get the visitor name set in the cookie 
  var name = cookies.name;


 res.setHeader('Content-Type', 'text/html; charset=UTF-8');

 if (name) {
    res.write('<p>Welcome back, <b>' + escapeHtml(name) + '</b>!</p>');
  } 
  else {
    res.write('<p>Hello, new visitor!</p>');
  }

 res.write('<form method="GET">');
  res.write('<input placeholder="enter your name" name="name"> <input type="submit" value="Set Name">');
  res.end('</form');
}

http.createServer(onRequest).listen(8080);

Cuando entramos la primera vez no aparecerá lo siguiente

Una vez introducido un nombre en el input,quedará almacenado y cada vez que se entra sino se borran las cookies aparecerá lo siguiente:

El siguiente ejemplo que podremos encontrar en la carpeta src como el anterior, al ejecutarlo nos mostrará en la consola las cookies que se guardaron en el ejemplo anterior:

var express = require('express')
var cookieParser = require('cookie-parser')

var app = express()
app.use(cookieParser())

app.get('/', function (req, res) {

  console.log('Cookies: ', req.cookies)

 console.log('Signed Cookies: ', req.signedCookies)
})

app.listen(8080)

Ejemplo que muestra lo que aparece en consola cuando ejecutas el servidor:

results matching ""

    No results matching ""