afinsp_rs/lib.rs
1//! Afinsp Billing SDK for Rust.
2//!
3//! The main entry point of this library is the API client [`api::Afinsp`].
4//!
5//! # Example
6//!
7//! ```no_run
8//! use afinsp_rs::api::{Afinsp, AfinspOptions};
9//!
10//! #[tokio::main]
11//! async fn main() -> Result<(), afinsp_rs::error::Error> {
12//! let client = Afinsp::new("your-api-key".to_string(), None);
13//!
14//! // List customers
15//! let customers = client.customers().list_customers(None).await?;
16//! println!("Found {} customers", customers.data.len());
17//!
18//! Ok(())
19//! }
20//! ```
21
22#![forbid(unsafe_code)]
23
24use std::time::Duration;
25
26use hyper::body::Bytes;
27use hyper_util::client::legacy::Client as HyperClient;
28
29pub mod api;
30mod connector;
31pub mod error;
32pub mod models;
33mod request;
34pub mod webhooks;
35
36pub(crate) use connector::{make_connector, Connector};
37
38pub struct Configuration {
39 pub base_path: String,
40 pub user_agent: Option<String>,
41 pub bearer_access_token: Option<String>,
42 pub timeout: Option<Duration>,
43 pub num_retries: u32,
44 pub retry_schedule: Option<Vec<Duration>>,
45
46 client: HyperClient<Connector, http_body_util::Full<Bytes>>,
47}