docs_configuration/
docs_configuration.rs1use std::{num::NonZeroU32, time::Duration};
6
7use s2_sdk::{
8 S2,
9 types::{AccountEndpoint, BasinEndpoint, RetryConfig, S2Config, S2Endpoints},
10};
11
12fn main() -> Result<(), Box<dyn std::error::Error>> {
13 {
15 let token = "local-token".to_string();
16 let endpoints = S2Endpoints::new(
18 AccountEndpoint::new("http://localhost:8080")?,
19 BasinEndpoint::new("http://localhost:8080")?,
20 )?;
21
22 let client = S2::new(S2Config::new(token).with_endpoints(endpoints))?;
23 println!("Created client with custom endpoints: {:?}", client);
25 }
26
27 {
29 let token = std::env::var("S2_ACCESS_TOKEN").unwrap_or_else(|_| "demo".into());
30 let client = S2::new(
32 S2Config::new(token).with_retry(
33 RetryConfig::new()
34 .with_max_attempts(NonZeroU32::new(5).unwrap())
35 .with_min_base_delay(Duration::from_millis(100))
36 .with_max_base_delay(Duration::from_secs(2)),
37 ),
38 )?;
39 println!("Created client with retry config: {:?}", client);
41 }
42
43 {
45 let token = std::env::var("S2_ACCESS_TOKEN").unwrap_or_else(|_| "demo".into());
46 let client = S2::new(
48 S2Config::new(token)
49 .with_connection_timeout(Duration::from_secs(5))
50 .with_request_timeout(Duration::from_secs(10)),
51 )?;
52 println!("Created client with timeout config: {:?}", client);
54 }
55
56 Ok(())
57}