slicc-cdp-client 1.32.2

Shared CDP connection for slicc-cdp CLIs
Documentation

slicc-cdp-client

The Chrome DevTools Protocol connection behind playwright-cli and curlwright. One browser WebSocket, flat sessions, and a guard that keeps seven's origins out of reach.

cdp-client = { package = "slicc-cdp-client", version = "1" }

Fetch interception

use cdp_client::fetch::{Decision, Fulfill, Interception, Pattern};
let mut seen = Interception::attach(&mut cdp, &target_id, &[Pattern::response("https://idp.example/authorize*")])?;
let session = seen.session_id().to_string();
seen.notify("Page.navigate", serde_json::json!({ "url": authorize_url }), Some(&session));
if let Some(paused) = seen.next(std::time::Duration::from_secs(120))? {
    let redirect = paused.location();
    seen.decide(&paused, &Decision::Fulfill(Fulfill::signed_in()))?;
}