Skip to main content

Crate pagesift_api

Crate pagesift_api 

Source
Expand description

pagesift 的 HTTP 接口:Firecrawl v2 兼容层、pagesift 扩展、健康检查和监控指标, 以及部署成服务要用的任务持久化、webhook、按 API key 的限流和配额。

协议、校验和任务管理在这里;真正的抓取由实现 Engine 的引擎完成。

Modules§

jina
Jina Reader protocol adapter for PageSift. Implements GET /r/{*url} and POST /r for direct markdown and SSE event streaming.
types
Firecrawl v1/v2 request and response types.

Structs§

ApiError
Config
CrawlResume
中断的爬取任务恢复时的进度。完成的页面以文档的 metadata.sourceURL(失败的以出错的 URL)为准。
Job
Jobs
KeyLimits
一个 API key 的限额,各项不设就是不限。
Timeouts
服务端超时,防 slowloris 和挂死的请求。
WebhookConfig
请求里的 webhook:Firecrawl 接受一个 URL 字符串,或者带 headers、metadata、events 的对象。
WebhookSettings
webhook 投递的设置(服务端配置,不来自请求)。

Enums§

ErrorCode
JobKind
JobState

Constants§

JOB_TTL
Task results retention period (24 hours).
MAX_CRAWL_DEPTH
crawl 的 maxDiscoveryDepth / maxDepth 上限。
MAX_CRAWL_LIMIT
crawl 的 limit 上限。
MAX_MAP_LIMIT
map 的 limit 上限,和 Firecrawl 文档一致。
MAX_SCRAPE_TIMEOUT_MS
同步 scrape 的 timeout 上限(毫秒);整请求超时按它留余量。
MAX_URLS
batch scrape、extract 一次最多带多少个 URL。
MAX_URL_LEN
URL 最长 8 KB:再长的 URL 浏览器和多数服务器都不接受,只会白白占内存。

Traits§

CrawlSink
整站爬取的进度回报,由 API 层的任务管理实现。
Engine

Functions§

check_scrape_options
check_url
rfc3339
UTC timestamp formatted into RFC 3339 (second precision with milliseconds).
router
Construct complete HTTP router with Firecrawl v1/v2, Jina Reader, and metrics.
serve
用默认超时在 listener 上提供服务,shutdown 完成后优雅退出。
serve_with
和 axum::serve(..).with_graceful_shutdown(..) 行为相同,另外给 HTTP/1 设了请求头读取超时 (axum::serve 设不了):收到 shutdown 后停止 accept,通知每个连接优雅关闭,等它们都结束再返回。

Type Aliases§

BoxFuture