3 * Connect - session - Cookie
4 * Copyright(c) 2010 Sencha Inc.
5 * Copyright(c) 2011 TJ Holowaychuk
10 * Module dependencies.
13 var merge = require('utils-merge')
14 , cookie = require('cookie');
17 * Initialize a new `Cookie` with the given `options`.
19 * @param {IncomingMessage} req
20 * @param {Object} options
24 var Cookie = module.exports = function Cookie(options) {
28 if (options) merge(this, options);
29 this.originalMaxAge = undefined == this.originalMaxAge
31 : this.originalMaxAge;
49 this.originalMaxAge = this.maxAge;
64 * Set expires via max-age in `ms`.
71 this.expires = 'number' == typeof ms
72 ? new Date(Date.now() + ms)
77 * Get expires max-age in `ms`.
84 return this.expires instanceof Date
85 ? this.expires.valueOf() - Date.now()
90 * Return cookie data object.
98 originalMaxAge: this.originalMaxAge
99 , expires: this._expires
100 , secure: this.secure
101 , httpOnly: this.httpOnly
102 , domain: this.domain
108 * Return a serialized cookie string.
114 serialize: function(name, val){
115 return cookie.serialize(name, val, this.data);
119 * Return JSON representation of this cookie.