riot_api/models/client/
configuration.rs1use 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}