mirror of
https://github.com/0xMassi/webclaw.git
synced 2026-05-16 18:35:12 +02:00
Replace primp dependency with our own TLS fingerprinting stack (webclaw-tls). Perfect Chrome 146 JA4 + Akamai hash match. - Remove primp entirely (zero references remaining) - webclaw-fetch now uses webclaw-http from github.com/0xMassi/webclaw-tls - Native + Mozilla root CAs (fixes HTTPS on cross-signed cert chains) - Skip unknown certificate extensions (SCT tolerance) - 99% bypass rate on 102 sites (was ~85% with primp) - Fixes #5 (HTTPS broken — example.com and similar sites now work) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
24 lines
654 B
Rust
24 lines
654 B
Rust
/// Fetch-layer errors. Wraps HTTP/network failures into a single type
|
|
/// that callers can match on without leaking transport details.
|
|
use thiserror::Error;
|
|
|
|
#[derive(Debug, Error)]
|
|
pub enum FetchError {
|
|
#[error("request failed: {0}")]
|
|
Request(#[from] webclaw_http::Error),
|
|
|
|
#[error("invalid url: {0}")]
|
|
InvalidUrl(String),
|
|
|
|
#[error("response body decode failed: {0}")]
|
|
BodyDecode(String),
|
|
|
|
#[error("extraction failed: {0}")]
|
|
Extraction(#[from] webclaw_core::ExtractError),
|
|
|
|
#[error("PDF extraction failed: {0}")]
|
|
Pdf(#[from] webclaw_pdf::PdfError),
|
|
|
|
#[error("client build failed: {0}")]
|
|
Build(String),
|
|
}
|