Skip to main content

Crate pagesift_api

Crate pagesift_api 

Source
Expand description

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

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

Modules§

attachments
附件的存储与下载:响应里只列 {id, format, bytes, hash},内容用 GET /v2/attachments/{id} 取。
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
JobMirror
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_PARSE_FILE_BYTES
/v2/parse 上传文件的大小上限,和 Firecrawl 一致(50 MB)。
MAX_SCRAPE_TIMEOUT_MS
同步 scrape 的 timeout 上限(毫秒);整请求超时按它留余量。
MAX_URLS
batch scrape、extract 一次最多带多少个 URL。
MAX_URL_LEN
URL 最长 8 KB:再长的 URL 浏览器和多数服务器都不接受,只会白白占内存。

Traits§

CrawlSink
整站爬取的进度回报,由 API 层的任务管理实现。
Engine
JobLog
复制写入的去处(网关:追加进账本日志)。

Functions§

apply_op
温备:把一条复制操作写进本地存储。列表追加按序号去重(已有这个序号就跳过)。
check_parse_options
/v2/parse 的选项:先过和 scrape 相同的检查,再拒绝只对网址有意义的选项 (照 Firecrawl getUnsupportedParseOptionError,另加 pagesift 自己的抓取类扩展)。
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
ExtraMetrics
生成额外指标文本(Prometheus 文本格式)的回调。