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; }
/** 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; }
/** 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); }
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; }
internal Cookie(CookieManager cookies, NativeCookie cookie) { this.cookies = cookies; original = cookie; Copy(original, this); }