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:
2025-01-08 11:49:42 -05:00
parent 81d40ec163
commit a55c63ffa6
2 changed files with 15 additions and 2 deletions

View File

@@ -25,6 +25,19 @@ pub fn ip(input: TokenStream) -> TokenStream {
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]
pub fn mac_address(input: TokenStream) -> TokenStream {
let input = parse_macro_input!(input as LitStr);