]> git.cworth.org Git - obsolete/notmuch-web/blob - node_modules/express/node_modules/connect/lib/middleware/cookieParser.js
Install the "express" node module via npm
[obsolete/notmuch-web] / node_modules / express / node_modules / connect / lib / middleware / cookieParser.js
1
2 /*!
3  * Connect - cookieParser
4  * Copyright(c) 2010 Sencha Inc.
5  * Copyright(c) 2011 TJ Holowaychuk
6  * MIT Licensed
7  */
8
9 /**
10  * Module dependencies.
11  */
12
13 var utils = require('./../utils');
14
15 /**
16  * Parse _Cookie_ header and populate `req.cookies`
17  * with an object keyed by the cookie names.
18  *
19  * Examples:
20  *
21  *     connect.createServer(
22  *         connect.cookieParser()
23  *       , function(req, res, next){
24  *         res.end(JSON.stringify(req.cookies));
25  *       }
26  *     );
27  *
28  * @return {Function}
29  * @api public
30  */
31
32 module.exports = function cookieParser(){
33   return function cookieParser(req, res, next) {
34     var cookie = req.headers.cookie;
35     if (req.cookies) return next();
36     req.cookies = {};
37     if (cookie) {
38       try {
39         req.cookies = utils.parseCookie(cookie);
40       } catch (err) {
41         return next(err);
42       }
43     }
44     next();
45   };
46 };