webclaw/crates/webclaw-fetch/src/error.rs

25 lines
648 B
Rust
Raw Normal View History

/// Fetch-layer errors. Wraps primp/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] primp::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),
}