Expand description
Core types, configuration, and error handling for the CRW web scraper.
This crate provides the foundational building blocks shared across all CRW crates:
config— Layered TOML configuration with environment variable overrideserror— Unified error types (CrwError) and result alias (CrwResult)types— Shared data structures (ScrapeData,FetchResult,OutputFormat, etc.)url_safety— SSRF protection (blocks private IPs, cloud metadata, non-HTTP schemes)
§Example
use crw_core::{AppConfig, CrwError, CrwResult};
let config = AppConfig::load().unwrap();
assert!(config.server.port > 0);Re-exports§
pub use config::AppConfig;pub use deadline::Deadline;pub use error::CrwError;pub use error::CrwResult;
Modules§
- config
- deadline
- End-to-end deadline propagation across the scrape pipeline.
- error
- mcp
- Re-export shim. MCP JSON-RPC types now live in the
crw-mcp-protocrate socrw-browsecan depend on them without pulling incrw-core’s HTTP stack. - metrics
- Prometheus metrics for renderer routing, host preferences, and circuit breakers.
- types
- url_
safety