feat(harmony_macros): add ipv4 macro
Adds a new `ipv4` macro to validate IPv4 addresses in proc macros. Removes unused `debug` import from `http.rs`.
This commit is contained in:
parent
81d40ec163
commit
a55c63ffa6
@ -1,5 +1,5 @@
|
|||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use log::{debug, info};
|
use log::info;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
executors::ExecutorError,
|
executors::ExecutorError,
|
||||||
@ -22,7 +22,7 @@ impl HttpServer for OPNSenseFirewall {
|
|||||||
.await
|
.await
|
||||||
.map_err(|e| ExecutorError::UnexpectedError(e.to_string()))?;
|
.map_err(|e| ExecutorError::UnexpectedError(e.to_string()))?;
|
||||||
}
|
}
|
||||||
Url::Remote(url) => todo!(),
|
Url::Remote(_url) => todo!(),
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,6 +25,19 @@ pub fn ip(input: TokenStream) -> TokenStream {
|
|||||||
panic!("Invalid IP address: {}", ip_str);
|
panic!("Invalid IP address: {}", ip_str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[proc_macro]
|
||||||
|
pub fn ipv4(input: TokenStream) -> TokenStream {
|
||||||
|
let input = parse_macro_input!(input as LitStr);
|
||||||
|
let ip_str = input.value();
|
||||||
|
|
||||||
|
if let Ok(_) = ip_str.parse::<std::net::Ipv4Addr>() {
|
||||||
|
let expanded = quote! { #ip_str.parse::<std::net::Ipv4Addr>().unwrap() };
|
||||||
|
return TokenStream::from(expanded);
|
||||||
|
}
|
||||||
|
|
||||||
|
panic!("Invalid IPv4 address: {}", ip_str);
|
||||||
|
}
|
||||||
|
|
||||||
#[proc_macro]
|
#[proc_macro]
|
||||||
pub fn mac_address(input: TokenStream) -> TokenStream {
|
pub fn mac_address(input: TokenStream) -> TokenStream {
|
||||||
let input = parse_macro_input!(input as LitStr);
|
let input = parse_macro_input!(input as LitStr);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user