diff options
| author | Gus Power <gus@infinitesidequests.com> | 2025-05-21 16:23:55 +0100 |
|---|---|---|
| committer | Gus Power <gus@infinitesidequests.com> | 2025-05-21 16:23:55 +0100 |
| commit | d7ce374a1741fdbb5c3aeef1218058a3d1060e88 (patch) | |
| tree | ac4297e69ce670155fcd3c37c29b085d3707decc /src/ip_service.rs | |
| parent | 9ce9c101a10327b1eb6902133173119c3e0f3732 (diff) | |
config fallback w/ tests. introduced a macro to remove some test boilerplate around Result<T,E> and having return Ok(())
Diffstat (limited to 'src/ip_service.rs')
| -rw-r--r-- | src/ip_service.rs | 7 |
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)), } } } |
