1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use std::sync::Arc; #[derive(Debug, Clone)] pub(crate) enum ApiUrl { Default, Custom(Arc<reqwest::Url>), } impl ApiUrl { pub(crate) fn get(&self) -> reqwest::Url { match self { // FIXME(waffle): parse once ApiUrl::Default => reqwest::Url::parse(crate::net::TELEGRAM_API_URL) .expect("failed to parse default url"), ApiUrl::Custom(url) => (&**url).clone(), } } }