Introduction
file-cookie-store - this is file store for cookie management library tough cookie. Library allow parallel access to the cookies file based on lockfile library.
Synopsis
var FileCookieStore = ;var CookieJar = CookieJar;var jar = "./cookie.txt" lockfile : true;
Installation
If you have npm installed, you can simply type:
npm install file-cookie-store
Or you can clone this repository using the git command:
git clone git://github.com/JSBizon/file-cookie-store.git
Usage
Class FileCookieStore has different properties:
- force_parse - continue parse file and don't throw exception if bad line was found ( Default : false)
- lockfile - use lockfile for access to the cookies file ( Default : true)
- mode - mode of new created file ( Default : 438 aka 0666 in Octal)
- http_only_extension - use http_only extension - prefix #HttpOnly_ for http only cookies. Curl, FF, etc use this kind of entries ( Default : true)
- lockfile_retries - attempts for lock file before throw exception ( Default : 200)
- auto_sync - in this mode cookies rewrote to the file after every change. If you set auto_sync to the false, you have to call method 'save' manually ( Default : true).
Example of using FileCookieStore without auto_sync mode:
var Q = ;var FileCookieStore = ;var TOUGH = ;var cookies_store = "./cookie.txt" auto_sync : false;var jar = cookies_store;Q TOUGH 'http://test.com/';
Export cookies
For receive all cookies from the store might be used method export:
cookie_store;cookie_store;
Store file format
Cookies stored in Netscape's cookie.txt file. This allow import/export cookies into/from different browsers. And use with command-line network tools: curl, wget, etc.
The layout of Netscape's cookies.txt file is such that each line contains one name-value pair. An example cookies.txt file may have an entry that looks like this:
.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103
Each line represents a single piece of stored information. A tab is inserted between each of the fields.
From left-to-right, here is what each field represents:
- domain - The domain that created AND that can read the variable.
- flag - A TRUE/FALSE value indicating if all machines within a given domain can access the variable. This value is set automatically by the browser, depending on the value you set for domain.
- path - The path within the domain that the variable is valid for.
- secure - A TRUE/FALSE value indicating if a secure connection with the domain is needed to access the variable.
- expiration - The UNIX time that the variable will expire on. UNIX time is defined as the number of seconds since Jan 1, 1970 00:00:00 GMT.
- name - The name of the variable.
- value - The value of the variable.