stealthreq 0.1.0

Trait-driven, human-like request mutation primitives for crawlers and scrapers.
Documentation
pub(crate) fn extract_cookies(headers: &[(String, String)]) -> Vec<String> {
    headers
        .iter()
        .filter(|(name, _)| name == "set-cookie" || name == "cookie")
        .flat_map(|(_, value)| {
            value.split(';').filter_map(|part| {
                let trimmed = part.trim();
                trimmed.split_once('=').map(|(name, _)| name.trim().to_ascii_lowercase())
            })
        })
        .collect()
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn extracts_cookie_names() {
        let headers = vec![
            ("set-cookie".to_string(), "__cfduid=abc; path=/".to_string()),
            ("cookie".to_string(), "session=1; lang=en".to_string()),
        ];
        let cookies = extract_cookies(&headers);
        assert!(cookies.contains(&"__cfduid".to_string()));
        assert!(cookies.contains(&"session".to_string()));
    }
}