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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user