Skip to main content

pagesift_api/
lib.rs

1//! pagesift 的 HTTP 接口:Firecrawl v2 兼容层、pagesift 扩展、健康检查和监控指标,
2//! 以及部署成服务要用的任务持久化、webhook、按 API key 的限流和配额。
3//!
4//! 协议、校验和任务管理在这里;真正的抓取由实现 [`Engine`] 的引擎完成。
5
6#![forbid(unsafe_code)]
7
8pub mod attachments;
9mod engine;
10mod error;
11pub(crate) mod firecrawl;
12pub mod jina;
13mod jobs;
14mod limits;
15mod metrics;
16pub(crate) mod server;
17mod stream_body;
18#[cfg(test)]
19mod test_engine;
20pub mod types;
21mod validate;
22mod webhook;
23
24pub use engine::{BoxFuture, CrawlResume, CrawlSink, Engine};
25pub use error::{ApiError, ErrorCode};
26pub use jobs::mirror::{JobLog, JobMirror, apply_op};
27pub use jobs::{JOB_TTL, Job, JobKind, JobState, Jobs, rfc3339};
28pub use limits::KeyLimits;
29pub use server::{Config, ExtraMetrics, Timeouts, router, serve, serve_with};
30pub use validate::{
31    MAX_CRAWL_DEPTH, MAX_CRAWL_LIMIT, MAX_MAP_LIMIT, MAX_PARSE_FILE_BYTES, MAX_SCRAPE_TIMEOUT_MS,
32    MAX_URL_LEN, MAX_URLS, check_parse_options, check_scrape_options, check_url,
33};
34pub use webhook::{WebhookConfig, WebhookSettings};