Skip to main content

Crate faucet_source_rest

Crate faucet_source_rest 

Source
Expand description

§faucet-source-rest

A declarative, config-driven REST API client with pluggable authentication, pagination, schema inference, and incremental replication.

Re-exports§

pub use async_job::AsyncJobConfig;
pub use async_job::JobRequest;
pub use async_job::JobStatus;
pub use async_job::PollSpec;
pub use auth::oauth2::DEFAULT_EXPIRY_RATIO;
pub use auth::token_endpoint::DEFAULT_TOKEN_ENDPOINT_EXPIRY_RATIO;
pub use auth::Auth;
pub use auth::ResponseValidator;
pub use auth::fetch_oauth2_token;
pub use auth::fetch_token_from_endpoint;
pub use config::ODataConfig;
pub use config::ODataVersion;
pub use config::RecordsMultiSpec;
pub use config::ResponseFormat;
pub use config::RestStreamConfig;
pub use decode::DecodeStep;
pub use decode::ParseFormat;
pub use decode::ParseSpec;
pub use decode::SimpleStep;
pub use decode::UnzipSpec;
pub use pagination::PaginationStyle;
pub use stream::RestStream;

Modules§

async_job
Async-job source pattern (#514): submit → poll → fetch result.
auth
Authentication strategies for REST APIs.
config
Stream configuration and builder.
decode
Response-decode pipeline (#515).
extract
Record extraction from API responses.
format
Tabular response-body parsing for response_format: csv | excel (#497).
odata
OData $metadata (EDMX / CSDL) parsing → dataset discovery (#512).
pagination
Pagination strategies for REST APIs.
replication
Incremental replication support.
retry
Retry logic with exponential backoff.
schema
JSON Schema inference from record samples.
serde_helpers
Serde helper modules for types that don’t implement Serialize/Deserialize natively.
stream
The main REST stream executor.
transform
Record transformation pipeline.

Structs§

TlsClientConfig
Client-certificate (mutual TLS) configuration for the HTTP sources.
WindowBind
Injects a rendered window boundary into the outgoing request — the window analogue of ReplicationBind. Reuses the same BindTarget placement and BindFormat formatting.
WindowSpec
Declarative in-run datetime window slicing (#527).

Enums§

FaucetError
All possible errors returned by faucet-stream.
RecordTransform
A transformation applied to every record fetched by a source (e.g. the REST source’s RestStream).
ReplicationMethod
Determines how records are replicated from the source.

Traits§

Sink
A sink writes records to an external system.
Source
A source fetches records from an external system.