use cidr::IpCidr;
use serde::{Deserialize, Serialize};
use std::fmt::Debug;
use std::net::IpAddr;
use url::Url;
#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)]
#[serde(rename_all = "lowercase")]
pub enum Proxies {
Proxy(Url),
Interface(IpAddr),
CIDR(IpCidr),
}
impl From<Url> for Proxies {
fn from(url: Url) -> Self {
Proxies::Proxy(url)
}
}
impl From<IpAddr> for Proxies {
fn from(ip_addr: IpAddr) -> Self {
Proxies::Interface(ip_addr)
}
}
impl From<IpCidr> for Proxies {
fn from(cidr: IpCidr) -> Self {
Proxies::CIDR(cidr)
}
}