dox-foundation-demo node_modules/express/node_modules/connect/lib/middleware/cookieParser.js

utils

declaration
utils

    Description

    Module dependencies.

    Source

    var utils = require('./../utils')
      , cookie = require('cookie');

    exports

    method
    module.exports()
    • @param: {String}secret
    • @return: {Function}

    Description

    Cookie parser:

    Parse Cookie header and populate req.cookies
    with an object keyed by the cookie names. Optionally
    you may enabled signed cookie support by passing
    a secret string, which assigns req.secret so
    it may be used by other middleware.

    Examples:

    connect()
      .use(connect.cookieParser('optional secret string'))
      .use(function(req, res, next){
        res.end(JSON.stringify(req.cookies));
      })
    

    Source

    module.exports = function cookieParser(secret){
      return function cookieParser(req, res, next) {
        if (req.cookies) return next();
        var cookies = req.headers.cookie;
    
        req.secret = secret;
        req.cookies = {};
        req.signedCookies = {};
    
        if (cookies) {
          try {
            req.cookies = cookie.parse(cookies);
            if (secret) {
              req.signedCookies = utils.parseSignedCookies(req.cookies, secret);
              req.signedCookies = utils.parseJSONCookies(req.signedCookies);
            }
            req.cookies = utils.parseJSONCookies(req.cookies);
          } catch (err) {
            err.status = 400;
            return next(err);
          }
        }
        next();
      };
    };