1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*!
- * cookie-parser
- * MIT Licensed
- */
- /**
- * Module dependencies.
- */
- var cookie = require('cookie');
- var parse = require('./lib/parse');
- /**
- * Parse Cookie header and populate `req.cookies`
- * with an object keyed by the cookie names.
- *
- * @param {String} [secret]
- * @param {Object} [options]
- * @return {Function}
- * @api public
- */
- exports = module.exports = function cookieParser(secret, options){
- return function cookieParser(req, res, next) {
- if (req.cookies) return next();
- var cookies = req.headers.cookie;
- req.secret = secret;
- req.cookies = Object.create(null);
- req.signedCookies = Object.create(null);
- // no cookies
- if (!cookies) {
- return next();
- }
- req.cookies = cookie.parse(cookies, options);
- // parse signed cookies
- if (secret) {
- req.signedCookies = parse.signedCookies(req.cookies, secret);
- req.signedCookies = parse.JSONCookies(req.signedCookies);
- }
- // parse JSON cookies
- req.cookies = parse.JSONCookies(req.cookies);
- next();
- };
- };
- /**
- * Export parsing functions.
- */
- exports.JSONCookie = parse.JSONCookie;
- exports.JSONCookies = parse.JSONCookies;
- exports.signedCookie = parse.signedCookie;
- exports.signedCookies = parse.signedCookies;
|