Skip to main content

faucet_source_rest/
lib.rs

1#![cfg_attr(docsrs, feature(doc_cfg))]
2
3//! # faucet-source-rest
4//!
5//! A declarative, config-driven REST API client with pluggable authentication,
6//! pagination, schema inference, and incremental replication.
7
8pub mod async_job;
9pub mod auth;
10pub mod config;
11pub mod decode;
12pub mod extract;
13pub mod format;
14pub mod odata;
15pub mod pagination;
16pub mod retry;
17pub mod serde_helpers;
18pub mod stream;
19
20// Re-export core types so users don't need a separate faucet-core dependency.
21pub use faucet_core::{
22    FaucetError, RecordTransform, ReplicationMethod, Sink, Source, WindowBind, WindowSpec,
23    replication, schema, transform,
24};
25
26pub use async_job::{AsyncJobConfig, JobRequest, JobStatus, PollSpec};
27pub use auth::oauth2::DEFAULT_EXPIRY_RATIO;
28pub use auth::token_endpoint::DEFAULT_TOKEN_ENDPOINT_EXPIRY_RATIO;
29pub use auth::{Auth, ResponseValidator, fetch_oauth2_token, fetch_token_from_endpoint};
30pub use config::{
31    ODataConfig, ODataVersion, RecordsMultiSpec, ResponseFormat, RestStreamConfig, TlsClientConfig,
32};
33pub use decode::{DecodeStep, ParseFormat, ParseSpec, SimpleStep, UnzipSpec};
34pub use pagination::PaginationStyle;
35pub use stream::RestStream;