mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			974 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			974 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| '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)
 | |
| }
 |