summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/network/setrawcookie.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/locutus/php/network/setrawcookie.js')
-rw-r--r--node_modules/locutus/php/network/setrawcookie.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/node_modules/locutus/php/network/setrawcookie.js b/node_modules/locutus/php/network/setrawcookie.js
new file mode 100644
index 0000000..7ad21be
--- /dev/null
+++ b/node_modules/locutus/php/network/setrawcookie.js
@@ -0,0 +1,50 @@
+'use strict';
+
+module.exports = function setrawcookie(name, value, expires, path, domain, secure) {
+ // discuss at: http://locutus.io/php/setrawcookie/
+ // original by: Brett Zamir (http://brett-zamir.me)
+ // original by: setcookie
+ // improved by: Kevin van Zonneveld (http://kvz.io)
+ // input by: Michael
+ // note 1: This function requires access to the `window` global and is Browser-only
+ // bugfixed by: Brett Zamir (http://brett-zamir.me)
+ // example 1: setrawcookie('author_name', 'Kevin van Zonneveld')
+ // returns 1: true
+
+ if (typeof window === 'undefined') {
+ return true;
+ }
+
+ if (typeof expires === 'string' && /^\d+$/.test(expires)) {
+ expires = parseInt(expires, 10);
+ }
+
+ if (expires instanceof Date) {
+ expires = expires.toUTCString();
+ } else if (typeof expires === 'number') {
+ expires = new Date(expires * 1e3).toUTCString();
+ }
+
+ var r = [name + '=' + value];
+ var i = '';
+ var s = {
+ expires: expires,
+ path: path,
+ domain: domain
+ };
+ for (i in s) {
+ if (s.hasOwnProperty(i)) {
+ // Exclude items on Object.prototype
+ s[i] && r.push(i + '=' + s[i]);
+ }
+ }
+
+ if (secure) {
+ r.push('secure');
+ }
+
+ window.document.cookie = r.join(';');
+
+ return true;
+};
+//# sourceMappingURL=setrawcookie.js.map \ No newline at end of file