use reqwest::blocking::get; use subsonic_types::{ common::Version, request::{self, SubsonicRequest}, request::{Authentication, Request}, response::Response, }; fn main() -> Result<(), Box> { let base_url = "http://localhost:3000"; let ping = Request { username: "admin".into(), authentication: Authentication::Password("admin".into()), version: Version::LATEST, client: "ping-example".into(), format: None, body: request::system::Ping, }; let query = ping.to_query(); let request_url = format!("{}{}?{}", base_url, request::system::Ping::PATH, query); println!("Request url: {}", request_url); let response_body = get(&request_url).unwrap().text().unwrap(); println!("Response body: {}", response_body); let response = Response::from_xml(&response_body)?; println!("Response: {:#?}", response); Ok(()) }