use std::net::{IpAddr, Ipv4Addr, SocketAddr};
use serde::{Deserialize, Serialize};
use serde_with::serde_as;
use crate::TslConfig;
#[serde_as]
#[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)]
pub struct HttpTracker {
#[serde(default = "HttpTracker::default_bind_address")]
pub bind_address: SocketAddr,
#[serde(default = "HttpTracker::default_tsl_config")]
pub tsl_config: Option<TslConfig>,
}
impl Default for HttpTracker {
fn default() -> Self {
Self {
bind_address: Self::default_bind_address(),
tsl_config: Self::default_tsl_config(),
}
}
}
impl HttpTracker {
fn default_bind_address() -> SocketAddr {
SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 7070)
}
fn default_tsl_config() -> Option<TslConfig> {
None
}
}