diff --git a/src/config.rs b/src/config.rs index 00de01a..87a273d 100644 --- a/src/config.rs +++ b/src/config.rs @@ -5,6 +5,8 @@ use serde::Serialize; use std::fs::File; use std::io::Read; +const STEAM_API_URL: &str = "https://api.steampowered.com"; + #[derive(Serialize, Deserialize)] pub struct User { pub username: String, @@ -18,8 +20,8 @@ pub struct Config { impl Config { pub fn new() -> Config { - let mut config_file = File::open("config.toml").expect("Failed to open config.toml"); let mut contents = String::new(); + let mut config_file = File::open("config.toml").expect("Failed to open config.toml"); config_file .read_to_string(&mut contents) .expect("Failed to read config.toml"); @@ -34,8 +36,8 @@ impl Config { pub fn get_steam_id(&self, username: Option<&String>) -> String { let username = username.unwrap_or(&self.user.username); match reqwest::blocking::get(format!( - "https://api.steampowered.com/ISteamUser/ResolveVanityURL/v0001/?key={}&vanityurl={}", - self.steam_api_key, username + "{}/ISteamUser/ResolveVanityURL/v0001/?key={}&vanityurl={}", + STEAM_API_URL, self.steam_api_key, username )) { Ok(res) => match res.text() { Ok(text) => { diff --git a/src/gamelist.rs b/src/gamelist.rs index 57a6ed1..0feb73b 100644 --- a/src/gamelist.rs +++ b/src/gamelist.rs @@ -4,6 +4,8 @@ use crate::responses::api_response::ApiResponse; use rand::seq::IteratorRandom; use serde::{Deserialize, Serialize}; +const STEAM_API_URL: &str = "https://api.steampowered.com"; + #[derive(Serialize, Deserialize)] pub struct GameList { pub game_count: i32, @@ -20,7 +22,8 @@ impl GameList { pub fn update(&mut self) { let config = Config::new(); - match reqwest::blocking::get(format!("https://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key={}&steamid={}&format=json&include_appinfo=true", + match reqwest::blocking::get(format!("{}/IPlayerService/GetOwnedGames/v0001/?key={}&steamid={}&format=json&include_appinfo=true", + STEAM_API_URL, config.steam_api_key, config.get_steam_id(Some(&config.user.username)) )) {