You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							39 lines
						
					
					
						
							974 B
						
					
					
				
			
		
		
	
	
							39 lines
						
					
					
						
							974 B
						
					
					
				'use strict'
 | 
						|
 | 
						|
var tough = require('tough-cookie')
 | 
						|
 | 
						|
var Cookie = tough.Cookie
 | 
						|
var CookieJar = tough.CookieJar
 | 
						|
 | 
						|
exports.parse = function (str) {
 | 
						|
  if (str && str.uri) {
 | 
						|
    str = str.uri
 | 
						|
  }
 | 
						|
  if (typeof str !== 'string') {
 | 
						|
    throw new Error('The cookie function only accepts STRING as param')
 | 
						|
  }
 | 
						|
  return Cookie.parse(str, {loose: true})
 | 
						|
}
 | 
						|
 | 
						|
// Adapt the sometimes-Async api of tough.CookieJar to our requirements
 | 
						|
function RequestJar (store) {
 | 
						|
  var self = this
 | 
						|
  self._jar = new CookieJar(store, {looseMode: true})
 | 
						|
}
 | 
						|
RequestJar.prototype.setCookie = function (cookieOrStr, uri, options) {
 | 
						|
  var self = this
 | 
						|
  return self._jar.setCookieSync(cookieOrStr, uri, options || {})
 | 
						|
}
 | 
						|
RequestJar.prototype.getCookieString = function (uri) {
 | 
						|
  var self = this
 | 
						|
  return self._jar.getCookieStringSync(uri)
 | 
						|
}
 | 
						|
RequestJar.prototype.getCookies = function (uri) {
 | 
						|
  var self = this
 | 
						|
  return self._jar.getCookiesSync(uri)
 | 
						|
}
 | 
						|
 | 
						|
exports.jar = function (store) {
 | 
						|
  return new RequestJar(store)
 | 
						|
}
 |