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 client = S2::new(
17 S2Config::new("local-token").with_endpoints(S2Endpoints::new(
18 AccountEndpoint::new("http://localhost:8080")?,
19 BasinEndpoint::new("http://localhost:8080")?,
20 )?),
21 )?;
22 println!("Created client with custom endpoints: {:?}", client);
24 }
25
26 {
28 let access_token = std::env::var("S2_ACCESS_TOKEN").unwrap_or_else(|_| "demo".into());
29 let client = S2::new(
31 S2Config::new(access_token).with_retry(
32 RetryConfig::new()
33 .with_max_attempts(NonZeroU32::new(5).unwrap())
34 .with_min_base_delay(Duration::from_millis(100))
35 .with_max_base_delay(Duration::from_secs(2)),
36 ),
37 )?;
38 println!("Created client with retry config: {:?}", client);
40 }
41
42 {
44 let access_token = std::env::var("S2_ACCESS_TOKEN").unwrap_or_else(|_| "demo".into());
45 let client = S2::new(
47 S2Config::new(access_token)
48 .with_connection_timeout(Duration::from_secs(5))
49 .with_request_timeout(Duration::from_secs(10)),
50 )?;
51 println!("Created client with timeout config: {:?}", client);
53 }
54
55 Ok(())
56}