#[macro_use] extern crate serde_derive; #[macro_use] extern crate log; extern crate reqwest; extern crate serde; extern crate simple_logger; use std::collections::HashMap; use reqwest::header::{Headers, UserAgent}; #[derive(Deserialize)] struct Realm { v: String, } #[derive(Deserialize)] struct Champion { data: HashMap } #[derive(Deserialize)] struct ChampInfo { id: String, } const USER_AGENT: &str = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"; fn main() { simple_logger::init_with_level(log::Level::Info).unwrap(); info!("CGG Item Sets"); let mut headers = Headers::new(); headers.set(UserAgent::new(USER_AGENT)); let client = reqwest::Client::builder().default_headers(headers).build().unwrap(); let realm: Realm = client.get("https://ddragon.leagueoflegends.com/realms/euw.json").send().unwrap().json().unwrap(); info!("LoL version: {}", realm.v); let champion: Champion = client.get(&format!("http://ddragon.leagueoflegends.com/cdn/{}/data/en_US/champion.json", realm.v)).send().unwrap().json().unwrap(); info!("LoL numbers of champs: {}", champion.data.len()); }