2016-11-10 12:25:26 -08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								## Class: Cookies
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								>  Query and modify a session's cookies.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-23 11:20:56 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Process: [Main ](../glossary.md#main-process )
							 
						 
					
						
							
								
									
										
										
										
											2016-11-10 12:25:26 -08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Instances of the `Cookies`  class are accessed by using `cookies`  property of
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								a `Session` .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								For example:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```javascript
							 
						 
					
						
							
								
									
										
										
										
											2018-09-14 02:10:51 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const { session } = require('electron')
							 
						 
					
						
							
								
									
										
										
										
											2016-11-10 12:25:26 -08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Query all cookies.
							 
						 
					
						
							
								
									
										
										
										
											2019-01-25 12:11:35 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								session.defaultSession.cookies.get({})
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  .then((cookies) => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    console.log(cookies)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }).catch((error) => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    console.log(error)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  })
							 
						 
					
						
							
								
									
										
										
										
											2016-11-10 12:25:26 -08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Query all cookies associated with a specific url.
							 
						 
					
						
							
								
									
										
										
										
											2019-01-25 12:11:35 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								session.defaultSession.cookies.get({ url: 'http://www.github.com' })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  .then((cookies) => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    console.log(cookies)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }).catch((error) => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    console.log(error)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  })
							 
						 
					
						
							
								
									
										
										
										
											2016-11-10 12:25:26 -08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Set a cookie with the given cookie data;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// may overwrite equivalent cookies if they exist.
							 
						 
					
						
							
								
									
										
										
										
											2018-09-14 02:10:51 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const cookie = { url: 'http://www.github.com', name: 'dummy_name', value: 'dummy' }
							 
						 
					
						
							
								
									
										
										
										
											2019-01-25 12:11:35 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								session.defaultSession.cookies.set(cookie)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  .then(() => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // success
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }, (error) => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    console.error(error)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  })
							 
						 
					
						
							
								
									
										
										
										
											2016-11-10 12:25:26 -08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Instance Events
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The following events are available on instances of `Cookies` :
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#### Event: 'changed'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `event`  Event 
						 
					
						
							
								
									
										
										
										
											2017-11-29 11:38:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  `cookie`  [Cookie ](structures/cookie.md ) - The cookie that was changed. 
						 
					
						
							
								
									
										
										
										
											2016-11-10 12:25:26 -08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								*  `cause`  String - The cause of the change with one of the following values: 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `explicit`  - The cookie was changed directly by a consumer's action.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `overwrite`  - The cookie was automatically removed due to an insert
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    operation that overwrote it.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `expired`  - The cookie was automatically removed as it expired.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `evicted`  - The cookie was automatically evicted during garbage collection.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `expired-overwrite`  - The cookie was overwritten with an already-expired
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    expiration date.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `removed`  Boolean - `true`  if the cookie was removed, `false`  otherwise. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Emitted when a cookie is changed because it was added, edited, removed, or
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								expired.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Instance Methods
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The following methods are available on instances of `Cookies` :
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-01-25 12:11:35 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#### `cookies.get(filter)`
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `filter`  Object 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `url`  String (optional) - Retrieves cookies which are associated with
							 
						 
					
						
							
								
									
										
										
										
											2019-06-21 16:19:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    `url` . Empty implies retrieving cookies of all URLs.
							 
						 
					
						
							
								
									
										
										
										
											2019-01-25 12:11:35 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  *  `name`  String (optional) - Filters cookies by name.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `domain`  String (optional) - Retrieves cookies whose domains match or are
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    subdomains of `domains` .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `path`  String (optional) - Retrieves cookies whose path matches `path` .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `secure`  Boolean (optional) - Filters cookies by their Secure property.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `session`  Boolean (optional) - Filters out session or persistent cookies.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Returns `Promise<Cookie[]>`  - A promise which resolves an array of cookie objects.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Sends a request to get all cookies matching `filter` , and resolves a promise with
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								the response.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#### `cookies.set(details)`
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `details`  Object 
						 
					
						
							
								
									
										
										
										
											2019-06-21 16:19:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  *  `url`  String - The URL to associate the cookie with. The promise will be rejected if the URL is invalid.
							 
						 
					
						
							
								
									
										
										
										
											2019-01-25 12:11:35 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  *  `name`  String (optional) - The name of the cookie. Empty by default if omitted.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `value`  String (optional) - The value of the cookie. Empty by default if omitted.
							 
						 
					
						
							
								
									
										
										
										
											2019-04-02 13:04:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  *  `domain`  String (optional) - The domain of the cookie; this will be normalized with a preceding dot so that it's also valid for subdomains. Empty by default if omitted.
							 
						 
					
						
							
								
									
										
										
										
											2019-01-25 12:11:35 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  *  `path`  String (optional) - The path of the cookie. Empty by default if omitted.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `secure`  Boolean (optional) - Whether the cookie should be marked as Secure. Defaults to
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    false.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `httpOnly`  Boolean (optional) - Whether the cookie should be marked as HTTP only.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Defaults to false.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  `expirationDate`  Double (optional) - The expiration date of the cookie as the number of
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    seconds since the UNIX epoch. If omitted then the cookie becomes a session
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    cookie and will not be retained between sessions.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Returns `Promise<void>`  - A promise which resolves when the cookie has been set
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Sets a cookie with `details` .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#### `cookies.remove(url, name)`
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `url`  String - The URL associated with the cookie. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  `name`  String - The name of cookie to remove. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Returns `Promise<void>`  - A promise which resolves when the cookie has been removed
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Removes the cookies matching `url`  and `name` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#### `cookies.flushStore()`
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Returns `Promise<void>`  - A promise which resolves when the cookie store has been flushed
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Writes any unwritten cookies data to disk.