Ejemplo n.º 1
0
        public static void Copy(NativeCookie src, Cookie dest)
        {
            dest.name   = src.name;
            dest.value  = src.value;
            dest.domain = src.domain;
            dest.path   = src.path;

            Func <string, DateTime> convert = s => {
                var m = dateRegex.Match(s);

                return(new DateTime(
                           int.Parse(m.Groups[1].ToString()),
                           int.Parse(m.Groups[2].ToString()),
                           int.Parse(m.Groups[3].ToString()),
                           int.Parse(m.Groups[4].ToString()),
                           int.Parse(m.Groups[5].ToString()),
                           int.Parse(m.Groups[6].ToString()),
                           int.Parse(m.Groups[7].ToString())
                           ));
            };

            dest.creation   = convert(src.creation);
            dest.expires    = src.expires == null ? (DateTime?)null : convert(src.expires);
            dest.lastAccess = convert(src.lastAccess);

            dest.secure   = src.secure != 0;
            dest.httpOnly = src.httpOnly != 0;
        }
Ejemplo n.º 2
0
        /** Deletes this cookie from the browser. */
        public void Delete()
        {
            if (original == null)
            {
                return;
            }

            BrowserNative.zfb_editCookie(cookies.browser.browserId, original, BrowserNative.CookieAction.Delete);
            original = null;
        }
Ejemplo n.º 3
0
        /** Updates any changes to this cookie in the browser, creating the cookie if it's new. */
        public void Update()
        {
            if (original != null)
            {
                Delete();
            }

            original = new NativeCookie();
            Copy(this, original);

            BrowserNative.zfb_editCookie(cookies.browser.browserId, original, BrowserNative.CookieAction.Create);
        }
Ejemplo n.º 4
0
        public static void Copy(Cookie src, NativeCookie dest)
        {
            dest.name   = src.name;
            dest.value  = src.value;
            dest.domain = src.domain;
            dest.path   = src.path;

            Func <DateTime, string> convert = s => s.ToString("yyyy-MM-dd hh:mm:ss.fff");

            dest.creation   = convert(src.creation);
            dest.expires    = src.expires == null ? null : convert(src.expires.Value);
            dest.lastAccess = convert(src.lastAccess);

            dest.secure   = src.secure ? (byte)1 : (byte)0;
            dest.httpOnly = src.httpOnly ? (byte)1 : (byte)0;
        }
Ejemplo n.º 5
0
 internal Cookie(CookieManager cookies, NativeCookie cookie)
 {
     this.cookies = cookies;
     original     = cookie;
     Copy(original, this);
 }