diff --git a/src/webservice.rs b/src/webservice.rs index cebac3c..27a79b2 100644 --- a/src/webservice.rs +++ b/src/webservice.rs @@ -2,12 +2,19 @@ use crate::config::Context; use crate::ip::{IpData, IpEvent}; use crate::utils::sleep_s; +use reqwest::Client; use reqwest::Error as ReqError; -pub async fn send_to_ipbl_api(ctx: &Context, ip: &IpEvent, ret: &mut Vec) { - ret.push(format!("host: {hostname}", hostname = ctx.hostname)); +pub async fn send_to_ipbl_ws( + client: &Client, + hostname: &str, + server: &str, + ip: &IpEvent, + ret: &mut Vec, +) { + ret.push(format!("host: {hostname}", hostname = hostname)); loop { - match push_ip(&ctx, &ip.ipdata, ret).await { + match push_ip(&client, &server, &ip.ipdata, ret).await { Ok(_) => { break; } @@ -19,7 +26,12 @@ pub async fn send_to_ipbl_api(ctx: &Context, ip: &IpEvent, ret: &mut Vec } } -async fn push_ip(ctx: &Context, ip: &IpData, ret: &mut Vec) -> Result<(), ReqError> { +async fn push_ip( + client: &Client, + server: &str, + ip: &IpData, + ret: &mut Vec, +) -> Result<(), ReqError> { let result: String; let mut data: Vec = vec![]; @@ -30,9 +42,8 @@ async fn push_ip(ctx: &Context, ip: &IpData, ret: &mut Vec) -> Result<() hostname: ip.hostname.to_string(), }); - let resp = ctx - .client - .post(format!("{server}/ips", server = ctx.flags.server)) + let resp = client + .post(format!("{server}/ips")) .json(&data) .send() .await?;