--- /dev/null
+
+/*!
+ * Connect - cookieParser
+ * Copyright(c) 2010 Sencha Inc.
+ * Copyright(c) 2011 TJ Holowaychuk
+ * MIT Licensed
+ */
+
+/**
+ * Module dependencies.
+ */
+
+var utils = require('./../utils');
+
+/**
+ * Parse _Cookie_ header and populate `req.cookies`
+ * with an object keyed by the cookie names.
+ *
+ * Examples:
+ *
+ * connect.createServer(
+ * connect.cookieParser()
+ * , function(req, res, next){
+ * res.end(JSON.stringify(req.cookies));
+ * }
+ * );
+ *
+ * @return {Function}
+ * @api public
+ */
+
+module.exports = function cookieParser(){
+ return function cookieParser(req, res, next) {
+ var cookie = req.headers.cookie;
+ if (req.cookies) return next();
+ req.cookies = {};
+ if (cookie) {
+ try {
+ req.cookies = utils.parseCookie(cookie);
+ } catch (err) {
+ return next(err);
+ }
+ }
+ next();
+ };
+};
\ No newline at end of file