use tail_fin_common::BrowserSession;
use tail_fin_common::TailFinError;
pub async fn extract_xhs_cookies(
session: &BrowserSession,
) -> Result<Vec<(String, String)>, TailFinError> {
let cookies = session.get_cookies().await?;
let mut result = Vec::new();
for cookie in &cookies {
let name = cookie
.get("name")
.and_then(|v| v.as_str())
.unwrap_or("")
.to_string();
let value = cookie
.get("value")
.and_then(|v| v.as_str())
.unwrap_or("")
.to_string();
if !name.is_empty() && !value.is_empty() {
result.push((name, value));
}
}
if result.is_empty() {
return Err(TailFinError::AuthRequired);
}
Ok(result)
}