aboutsummaryrefslogtreecommitdiff
path: root/src/ip_service.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ip_service.rs')
-rw-r--r--src/ip_service.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ip_service.rs b/src/ip_service.rs
index f1e3078..3d869db 100644
--- a/src/ip_service.rs
+++ b/src/ip_service.rs
@@ -1,11 +1,11 @@
use crate::error::{AppError, AppResult};
-use crate::ip_service::IpServiceProvider::IdentMe;
+use crate::ip_service::IpServiceProvider::{IdentMe, Noop};
use http::StatusCode;
use reqwest::{Client, Url};
use serde::{Deserialize, Serialize};
use serde_with::DisplayFromStr;
use serde_with::serde_as;
-use std::net::IpAddr;
+use std::net::{IpAddr, Ipv4Addr};
use std::str::FromStr;
#[derive(Debug, Deserialize, PartialEq, Serialize)]
@@ -13,12 +13,15 @@ use std::str::FromStr;
pub enum IpServiceProvider {
#[serde(rename = "IDENTME")]
IdentMe(IdentMeConfig),
+ #[serde(rename = "NOOP")]
+ Noop,
}
impl IpService for IpServiceProvider {
async fn resolve(&self, client: &Client) -> AppResult<IpAddr> {
match self {
IdentMe(ident_me) => ident_me.resolve(client).await,
+ Noop => Ok(IpAddr::V4(Ipv4Addr::UNSPECIFIED)),
}
}
}