10 var cookie = require('cookie');
11 var parse = require('./lib/parse');
14 * Parse Cookie header and populate `req.cookies`
15 * with an object keyed by the cookie names.
17 * @param {String} [secret]
18 * @param {Object} [options]
23 exports = module.exports = function cookieParser(secret, options){
24 return function cookieParser(req, res, next) {
25 if (req.cookies) return next();
26 var cookies = req.headers.cookie;
29 req.cookies = Object.create(null);
30 req.signedCookies = Object.create(null);
37 req.cookies = cookie.parse(cookies, options);
39 // parse signed cookies
41 req.signedCookies = parse.signedCookies(req.cookies, secret);
42 req.signedCookies = parse.JSONCookies(req.signedCookies);
46 req.cookies = parse.JSONCookies(req.cookies);
53 * Export parsing functions.
56 exports.JSONCookie = parse.JSONCookie;
57 exports.JSONCookies = parse.JSONCookies;
58 exports.signedCookie = parse.signedCookie;
59 exports.signedCookies = parse.signedCookies;