riot_api/models/client/
configuration.rs

1use crate::models::routing::*;
2
3pub(crate) trait Routable {
4    fn base_url(&self) -> String;
5}
6
7pub struct ApiConfiguration {
8    pub(crate) auth_configuration: AuthConfiguration,
9
10    pub(crate) default_region: RegionRouting,
11    pub(crate) default_platform: PlatformRouting,
12    pub(crate) retry_count: u32,
13}
14impl ApiConfiguration {
15    pub fn new(
16        auth_configuration: AuthConfiguration,
17        default_retries: Option<u32>,
18        default_region: Option<RegionRouting>,
19        default_platform: Option<PlatformRouting>
20    ) -> Self {
21        Self {
22            auth_configuration,
23            default_region: default_region.unwrap_or(RegionRouting::AMERICAS),
24            default_platform: default_platform.unwrap_or(PlatformRouting::NA1),
25            retry_count: default_retries.unwrap_or(5),
26        }
27    }
28}
29
30pub enum AuthConfiguration {
31    ApiKey(String),
32    BearerToken(String),
33}