pub struct Cookie {
pub name: String,
pub value: String,
pub url: Option<String>,
pub domain: Option<String>,
pub path: Option<String>,
pub expires: Option<f64>,
pub http_only: Option<bool>,
pub secure: Option<bool>,
pub same_site: Option<String>,
}Expand description
HTTP Cookie 表示(对应 CDP Network.Cookie / Network.setCookie)。
所有字段都是 Option 以兼容不同来源(CDP / JS document.cookie / 持久化存储)。
name 和 value 是必填,其他可选。
§示例
use bao_cdp_client::types::Cookie;
let cookie = Cookie {
name: "session".to_string(),
value: "abc123".to_string(),
domain: Some("example.com".to_string()),
path: Some("/".to_string()),
secure: Some(true),
http_only: Some(true),
..Default::default()
};
assert_eq!(cookie.name, "session");@trace REQ-BAO-API-008 [level:library]
Fields§
§name: StringCookie 名称(必填)。
value: StringCookie 值(必填)。
url: Option<String>关联的 URL(可选 — 通常与 domain 二选一)。
domain: Option<String>Cookie 域名(如 example.com)。
path: Option<String>Cookie 路径(默认 /)。
expires: Option<f64>过期 Unix 时间戳(秒,浮点支持小数部分)。
http_only: Option<bool>是否仅 HTTP 不可见(JS document.cookie 读不到)。
secure: Option<bool>是否仅 HTTPS / Secure 连接发送。
same_site: Option<String>SameSite 策略("Strict" / "Lax" / "None")。
Implementations§
Source§impl Cookie
impl Cookie
Sourcepub fn new(name: impl Into<String>, value: impl Into<String>) -> Cookie
pub fn new(name: impl Into<String>, value: impl Into<String>) -> Cookie
构造一个仅含 name/value 的 Cookie(其余字段为 None)。
§示例
use bao_cdp_client::types::Cookie;
let c = Cookie::new("k", "v");
assert_eq!(c.name, "k");
assert_eq!(c.value, "v");
assert!(c.domain.is_none());@trace REQ-BAO-API-008 [level:library]
Sourcepub fn with_domain(self, domain: impl Into<String>) -> Cookie
pub fn with_domain(self, domain: impl Into<String>) -> Cookie
链式设置 domain。
§示例
use bao_cdp_client::types::Cookie;
let c = Cookie::new("k", "v").with_domain("example.com");
assert_eq!(c.domain.as_deref(), Some("example.com"));@trace REQ-BAO-API-008 [level:library]
Sourcepub fn with_secure(self, secure: bool) -> Cookie
pub fn with_secure(self, secure: bool) -> Cookie
链式设置 secure。
Sourcepub fn with_http_only(self, http_only: bool) -> Cookie
pub fn with_http_only(self, http_only: bool) -> Cookie
链式设置 http_only。
Sourcepub fn with_same_site(self, same_site: impl Into<String>) -> Cookie
pub fn with_same_site(self, same_site: impl Into<String>) -> Cookie
链式设置 same_site。
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Cookie
impl<'de> Deserialize<'de> for Cookie
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Cookie, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Cookie, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for Cookie
impl Serialize for Cookie
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for Cookie
Auto Trait Implementations§
impl Freeze for Cookie
impl RefUnwindSafe for Cookie
impl Send for Cookie
impl Sync for Cookie
impl Unpin for Cookie
impl UnsafeUnpin for Cookie
impl UnwindSafe for Cookie
Blanket Implementations§
Source§impl<T> AsCtxPtr for Twhere
T: ?Sized,
impl<T> AsCtxPtr for Twhere
T: ?Sized,
Source§fn as_ctx_ptr(&self) -> *mut Selfwhere
Self: Sized,
fn as_ctx_ptr(&self) -> *mut Selfwhere
Self: Sized,
self’s address as *mut Self for deferred-task / scopeguard /
ref_guard ctx slots. The closures/trampolines deref it as shared
(&*p) — every method they reach is &self post-R-2, so no write
provenance is required; the *mut spelling is purely to match the
existing DerefOnDrop / HasAutoFlush / RefCount ABI.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert