Skip to main content

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}