🏗️ Elegant & Highly Performant Async Gemini Server Framework for the Modern Age
async framework gemini-protocol protocol gemini rust
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

style(router.rs): clippy lints

Fuwn f74ce193 ab65c71b

+13 -33
-1
src/lib.rs
··· 44 44 pub use response::Response; 45 45 pub use router::Router; 46 46 pub use tokio::main; 47 -
+13 -32
src/router.rs
··· 261 261 let mut buffer = [0u8; 1024]; 262 262 let mut url = Url::parse("gemini://fuwn.me/")?; 263 263 let mut response_status = 0; 264 - let mut response_mime_type = "".to_string(); 264 + let mut response_mime_type = String::new(); 265 265 let mut footer = String::new(); 266 266 let mut header = String::new(); 267 267 ··· 300 300 module.on_pre_route(CallbackContext::new( 301 301 stream.get_ref(), 302 302 &url, 303 - { 304 - if let Ok(route) = &route { 305 - Some(&route.params) 306 - } else { 307 - None 308 - } 309 - }, 303 + route.as_ref().map_or(None, |route| Some(&route.params)), 310 304 &stream.ssl().peer_certificate(), 311 305 )); 312 306 } 313 307 314 308 (*self.pre_route_callback).lock().unwrap()(stream.get_ref(), &url, { 315 - if let Ok(route) = &route { 316 - Some(&route.params) 317 - } else { 318 - None 319 - } 309 + route.as_ref().map_or(None, |route| Some(&route.params)) 320 310 }); 321 311 322 312 let content = if let Ok(ref route) = route { ··· 333 323 )), 334 324 )); 335 325 } 336 - for (i, partial_footer) in 326 + for (i, partial_footer) in { 327 + #[allow(clippy::needless_borrow)] 337 328 (&mut *self.footers.lock().unwrap()).iter_mut().enumerate() 338 - { 329 + } { 339 330 footer.push_str(&format!( 340 331 "{}{}", 341 332 partial_footer(RouteContext::new( ··· 395 386 #[cfg(feature = "auto-deduce-mime")] 396 387 22 => format!(" {}", tree_magic::from_u8(&*content.as_bytes())), 397 388 23 => response_mime_type, 398 - _ => format!(" {}", content), 389 + _ => format!(" {content}"), 399 390 }, 400 391 match response_status { 401 - 20 => format!("{}{}\n{}", header, content, footer), 392 + 20 => format!("{header}{content}\n{footer}"), 402 393 21 | 22 | 23 => content.to_string(), 403 - _ => "".to_string(), 394 + _ => String::new(), 404 395 } 405 396 ) 406 397 .as_bytes(), ··· 411 402 module.on_post_route(CallbackContext::new( 412 403 stream.get_ref(), 413 404 &url, 414 - { 415 - if let Ok(route) = &route { 416 - Some(&route.params) 417 - } else { 418 - None 419 - } 420 - }, 405 + route.as_ref().map_or(None, |route| Some(&route.params)), 421 406 &stream.ssl().peer_certificate(), 422 407 )); 423 408 } 424 409 425 410 (*self.post_route_callback).lock().unwrap()(stream.get_ref(), &url, { 426 - if let Ok(route) = &route { 427 - Some(&route.params) 428 - } else { 429 - None 430 - } 411 + route.as_ref().map_or(None, |route| Some(&route.params)) 431 412 }); 432 413 433 414 stream.shutdown().await?; ··· 746 727 "This capsule has not implemented an error handler...".to_string(), 747 728 ) 748 729 }))), 749 - private_key_file_name: "".to_string(), 750 - ca_file_name: "".to_string(), 730 + private_key_file_name: String::new(), 731 + ca_file_name: String::new(), 751 732 headers: Arc::new(Mutex::new(vec![])), 752 733 footers: Arc::new(Mutex::new(vec![])), 753 734 ssl_acceptor: Arc::new(