@@ -45,20 +45,20 @@ impl BootstrapClient {
4545 QueryType :: Tld => {
4646 // TLD queries always go to IANA RDAP
4747 let url = Url :: parse ( config:: IANA_RDAP_URL )
48- . map_err ( |e| RdapError :: Bootstrap ( format ! ( "Invalid IANA RDAP URL: {}" , e ) ) ) ?;
48+ . map_err ( |e| RdapError :: Bootstrap ( format ! ( "Invalid IANA RDAP URL: {e}" ) ) ) ?;
4949 Ok ( vec ! [ url] )
5050 }
5151 QueryType :: Domain => {
5252 // Priority: tlds.json first, then bootstrap
5353 if let Some ( url) = config:: lookup_tld_override ( & self . tld_overrides , & request. query )
5454 {
55- log:: debug!( "Found TLD override for {}: {}" , request. query, url ) ;
55+ log:: debug!( "Found TLD override for {}: {url }" , request. query) ;
5656 return Ok ( vec ! [ url] ) ;
5757 }
5858
5959 // Fall back to IANA bootstrap
6060 let registry = self . fetch_registry ( & self . config . bootstrap . dns ) . await ?;
61- self . match_domain ( & registry, & request. query )
61+ Ok ( self . match_domain ( & registry, & request. query ) )
6262 }
6363 QueryType :: Ip => {
6464 let bootstrap_url = if request. query . contains ( ':' ) {
@@ -74,24 +74,24 @@ impl BootstrapClient {
7474 self . match_asn ( & registry, & request. query )
7575 }
7676 QueryType :: Entity => Err ( RdapError :: Bootstrap (
77- "Entity queries require explicit server (-s/--server)" . to_string ( ) ,
77+ "Entity queries require explicit server (-s/--server)" . to_owned ( ) ,
7878 ) ) ,
7979 _ => Err ( RdapError :: Bootstrap (
80- "This query type requires explicit server (-s/--server)" . to_string ( ) ,
80+ "This query type requires explicit server (-s/--server)" . to_owned ( ) ,
8181 ) ) ,
8282 }
8383 }
8484
8585 /// Fetch bootstrap registry file from URL
8686 async fn fetch_registry ( & self , url : & str ) -> Result < BootstrapRegistry > {
87- log:: debug!( "Fetching bootstrap registry: {}" , url ) ;
87+ log:: debug!( "Fetching bootstrap registry: {url}" ) ;
8888
8989 let response = self . http_client . get ( url) . send ( ) . await ?;
9090
9191 if !response. status ( ) . is_success ( ) {
92+ let status = response. status ( ) ;
9293 return Err ( RdapError :: Bootstrap ( format ! (
93- "Failed to fetch registry: HTTP {}" ,
94- response. status( )
94+ "Failed to fetch registry: HTTP {status}"
9595 ) ) ) ;
9696 }
9797
@@ -100,7 +100,7 @@ impl BootstrapClient {
100100 }
101101
102102 /// Match domain name
103- fn match_domain ( & self , registry : & BootstrapRegistry , domain : & str ) -> Result < Vec < Url > > {
103+ fn match_domain ( & self , registry : & BootstrapRegistry , domain : & str ) -> Vec < Url > {
104104 let domain = domain. trim_end_matches ( '.' ) . to_lowercase ( ) ;
105105
106106 // Build lookup map
@@ -111,7 +111,7 @@ impl BootstrapClient {
111111 {
112112 let url_strings: Vec < String > = urls
113113 . iter ( )
114- . filter_map ( |v| v. as_str ( ) . map ( |s| s . to_string ( ) ) )
114+ . filter_map ( |v| v. as_str ( ) . map ( std :: borrow :: ToOwned :: to_owned ) )
115115 . collect ( ) ;
116116
117117 for entry in entries {
@@ -128,34 +128,34 @@ impl BootstrapClient {
128128 while !parts. is_empty ( ) {
129129 let test_domain = parts. join ( "." ) ;
130130 if let Some ( urls) = map. get ( & test_domain) {
131- return Ok ( urls. iter ( ) . filter_map ( |s| Url :: parse ( s) . ok ( ) ) . collect ( ) ) ;
131+ return urls. iter ( ) . filter_map ( |s| Url :: parse ( s) . ok ( ) ) . collect ( ) ;
132132 }
133133 parts. remove ( 0 ) ;
134134 }
135135
136- Ok ( vec ! [ ] )
136+ vec ! [ ]
137137 }
138138
139139 /// Match IP address (supports standard IPs, shorthand IPs, and CIDR)
140140 fn match_ip ( & self , registry : & BootstrapRegistry , ip_query : & str ) -> Result < Vec < Url > > {
141141 // Normalize the IP (handles shorthand like 1.1 -> 1.0.0.1)
142142 let normalized = ip:: normalize_ip ( ip_query)
143- . ok_or_else ( || RdapError :: InvalidQuery ( format ! ( "Invalid IP address: {}" , ip_query ) ) ) ?;
143+ . ok_or_else ( || RdapError :: InvalidQuery ( format ! ( "Invalid IP address: {ip_query}" ) ) ) ?;
144144
145145 // Extract the IP part (for CIDR queries like 8.8.8.0/24, we match using the network address)
146146 let ip_str = ip:: extract_ip_from_cidr ( & normalized) ;
147147
148148 let addr: IpAddr = ip_str
149149 . parse ( )
150- . map_err ( |_| RdapError :: InvalidQuery ( format ! ( "Invalid IP address: {}" , ip_str ) ) ) ?;
150+ . map_err ( |_| RdapError :: InvalidQuery ( format ! ( "Invalid IP address: {ip_str}" ) ) ) ?;
151151
152152 for service in & registry. services {
153153 if service. len ( ) >= 2
154154 && let ( Some ( entries) , Some ( urls) ) = ( service[ 0 ] . as_array ( ) , service[ 1 ] . as_array ( ) )
155155 {
156156 for entry in entries {
157157 if let Some ( cidr) = entry. as_str ( )
158- && self . ip_in_network ( & addr, cidr)
158+ && Self :: ip_in_network ( & addr, cidr)
159159 {
160160 let url_list: Vec < Url > = urls
161161 . iter ( )
@@ -171,7 +171,7 @@ impl BootstrapClient {
171171 }
172172
173173 /// Check if IP is in CIDR network using ipnet
174- fn ip_in_network ( & self , addr : & IpAddr , cidr : & str ) -> bool {
174+ fn ip_in_network ( addr : & IpAddr , cidr : & str ) -> bool {
175175 if let Ok ( network) = cidr. parse :: < IpNet > ( ) {
176176 return network. contains ( addr) ;
177177 }
@@ -188,15 +188,15 @@ impl BootstrapClient {
188188 } ;
189189 let asn: u32 = asn_str
190190 . parse ( )
191- . map_err ( |_| RdapError :: InvalidQuery ( format ! ( "Invalid AS number: {}" , asn_str ) ) ) ?;
191+ . map_err ( |_| RdapError :: InvalidQuery ( format ! ( "Invalid AS number: {asn_str}" ) ) ) ?;
192192
193193 for service in & registry. services {
194194 if service. len ( ) >= 2
195195 && let ( Some ( entries) , Some ( urls) ) = ( service[ 0 ] . as_array ( ) , service[ 1 ] . as_array ( ) )
196196 {
197197 for entry in entries {
198198 if let Some ( range_str) = entry. as_str ( )
199- && self . asn_in_range ( asn, range_str)
199+ && Self :: asn_in_range ( asn, range_str)
200200 {
201201 let url_list: Vec < Url > = urls
202202 . iter ( )
@@ -212,7 +212,7 @@ impl BootstrapClient {
212212 }
213213
214214 /// Check if AS number is in range
215- fn asn_in_range ( & self , asn : u32 , range_str : & str ) -> bool {
215+ fn asn_in_range ( asn : u32 , range_str : & str ) -> bool {
216216 if let Some ( dash_pos) = range_str. find ( '-' ) {
217217 // Range: "1000-2000"
218218 if let ( Ok ( start) , Ok ( end) ) = (
0 commit comments