Sha256: 89b8ede9b598c6088e47be434684c6d00c5d3e6c64e547ae4a03aacfd7bbccfa

Contents?: true

Size: 1.28 KB

Versions: 19

Compression:

Stored size: 1.28 KB

Contents

/*!
 * Tobi - Cookie
 * Copyright(c) 2010 LearnBoost <dev@learnboost.com>
 * MIT Licensed
 */

/**
 * Module dependencies.
 */

var url = require('url');

/**
 * Initialize a new `Cookie` with the given cookie `str` and `req`.
 *
 * @param {String} str
 * @param {IncomingRequest} req
 * @api private
 */

var Cookie = exports = module.exports = function Cookie(str, req) {
  this.str = str;

  // Map the key/val pairs
  str.split(/ *; */).reduce(function(obj, pair){
   var p = pair.indexOf('=');
   var key = p > 0 ? pair.substring(0, p).trim() : pair.trim();
   var lowerCasedKey = key.toLowerCase();
   var value = p > 0 ? pair.substring(p + 1).trim() : true;

   if (!obj.name) {
    // First key is the name
    obj.name = key;
    obj.value = value;
   }
   else if (lowerCasedKey === 'httponly') {
    obj.httpOnly = value;
   }
   else {
    obj[lowerCasedKey] = value;
   }
   return obj;
  }, this);

  // Expires
  this.expires = this.expires
    ? new Date(this.expires)
    : Infinity;

  // Default or trim path
  this.path = this.path
    ? this.path.trim(): req 
    ? url.parse(req.url).pathname: '/';
};

/**
 * Return the original cookie string.
 *
 * @return {String}
 * @api public
 */

Cookie.prototype.toString = function(){
  return this.str;
};

module.exports.Jar = require('./jar')

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
ela-4.1.6 node_modules/cookie-jar/index.js
ela-4.1.5 node_modules/cookie-jar/index.js
ela-4.1.4 node_modules/cookie-jar/index.js
ela-4.1.3 node_modules/cookie-jar/index.js
ela-4.1.2 node_modules/cookie-jar/index.js
ela-4.1.1 node_modules/cookie-jar/index.js
ela-4.1.0 node_modules/cookie-jar/index.js
ela-4.0.0 node_modules/cookie-jar/index.js
ela-3.4.3 node_modules/cookie-jar/index.js
ela-3.4.2 node_modules/cookie-jar/index.js
ela-3.4.0 node_modules/cookie-jar/index.js
ela-3.3.1 node_modules/cookie-jar/index.js
ela-3.3.0 node_modules/cookie-jar/index.js
ela-3.2.0 node_modules/cookie-jar/index.js
ela-3.1.1 node_modules/cookie-jar/index.js
ela-3.1.0 node_modules/cookie-jar/index.js
ela-3.0.0 node_modules/cookie-jar/index.js
ela-2.0.0 node_modules/cookie-jar/index.js
ela-1.1.0 node_modules/cookie-jar/index.js