summaryrefslogtreecommitdiff
path: root/node_modules/request/lib/cookies.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/request/lib/cookies.js')
-rw-r--r--node_modules/request/lib/cookies.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/request/lib/cookies.js b/node_modules/request/lib/cookies.js
new file mode 100644
index 0000000..bd5d46b
--- /dev/null
+++ b/node_modules/request/lib/cookies.js
@@ -0,0 +1,38 @@
+'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)
+}