diff --git a/WatcherAgent/src/api.rs b/WatcherAgent/src/api.rs index c1eec6f..f349479 100644 --- a/WatcherAgent/src/api.rs +++ b/WatcherAgent/src/api.rs @@ -154,10 +154,11 @@ pub async fn send_metrics( Ok(()) } -pub async fn listening_to_server(base_url: &str){ +pub async fn listening_to_server(base_url: &str) -> Result<(), Box>{ + let url = format!("{}/api/message", base_url); loop { // Replace with your server endpoint - let resp = reqwest::get("http://my-server.local/api/message") + let resp = reqwest::get(url) .await; if let Ok(resp) = resp { @@ -175,10 +176,18 @@ pub async fn listening_to_server(base_url: &str){ } } +fn parse_message(raw: &str) -> ServerMessage { + match raw { + "restart" => ServerMessage::Restart, + msg if msg.starts_with("log:") => ServerMessage::Log(msg[4..].to_string()), + msg if msg.starts_with("update:") => ServerMessage::Update(msg[7..].to_string()), + _ => ServerMessage::Unknown, + } +} + fn handle_message(msg: ServerMessage) { match msg { ServerMessage::Restart => restart_container(), - ServerMessage::Log(data) => log_data(&data), ServerMessage::Update(ver) => update_client(&ver), ServerMessage::Unknown => eprintln!("Unknown message"), } @@ -189,20 +198,7 @@ fn restart_container() { std::process::exit(1); // let Docker restart it } -fn log_data(data: &str) { - println!("Log: {}", data); -} - fn update_client(version: &str) { println!("Updating to version {}", version); } -// Example parser (pretend server sends simple strings) -fn parse_message(raw: &str) -> ServerMessage { - match raw { - "restart" => ServerMessage::Restart, - msg if msg.starts_with("log:") => ServerMessage::Log(msg[4..].to_string()), - msg if msg.starts_with("update:") => ServerMessage::Update(msg[7..].to_string()), - _ => ServerMessage::Unknown, - } -} \ No newline at end of file