torrust_tracker_configuration/v2_0_0/
http_tracker.rs1use std::net::{IpAddr, Ipv4Addr, SocketAddr};
2
3use serde::{Deserialize, Serialize};
4use serde_with::serde_as;
5
6use crate::TslConfig;
7
8#[serde_as]
10#[derive(Serialize, Deserialize, PartialEq, Eq, Debug, Clone)]
11pub struct HttpTracker {
12 #[serde(default = "HttpTracker::default_bind_address")]
17 pub bind_address: SocketAddr,
18
19 #[serde(default = "HttpTracker::default_tsl_config")]
21 pub tsl_config: Option<TslConfig>,
22}
23
24impl Default for HttpTracker {
25 fn default() -> Self {
26 Self {
27 bind_address: Self::default_bind_address(),
28 tsl_config: Self::default_tsl_config(),
29 }
30 }
31}
32
33impl HttpTracker {
34 fn default_bind_address() -> SocketAddr {
35 SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 7070)
36 }
37
38 fn default_tsl_config() -> Option<TslConfig> {
39 None
40 }
41}