#[derive(Debug)]
pub enum Config {
Ping(PingConfig),
Http(HttpConfig),
}
#[derive(Debug, Default, serde::Deserialize)]
pub struct PingConfig {
pub check_frequency: i64,
pub confirmation_period: i64,
pub recovery_period: i64,
pub timeout: i64,
}
#[derive(Debug, Default, serde::Deserialize)]
pub struct HttpConfig {
pub check_frequency: i64,
pub confirmation_period: i64,
pub recovery_period: i64,
pub timeout: i32,
pub method: String,
pub protocol: String,
pub port: Option<u16>,
pub path: Option<String>,
pub body: Option<String>,
pub keyword: Option<String>,
pub expected_status_code: i32,
pub follow_redirects: bool,
pub keep_cookies_on_redirects: bool,
pub headers: Option<Vec<Header>>,
}
#[derive(Debug, serde::Deserialize)]
pub struct Header {
pub name: String,
pub value: String,
}