diff options
| author | Fuwn <[email protected]> | 2022-03-27 04:00:32 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-03-27 04:00:32 +0000 |
| commit | 193c1494f439781fa1317d25caa5e06353f1efe3 (patch) | |
| tree | 177f1399df42add977862c2bbb31e3a68edf44b4 | |
| parent | feat(router): async! (diff) | |
| download | windmark-193c1494f439781fa1317d25caa5e06353f1efe3.tar.xz windmark-193c1494f439781fa1317d25caa5e06353f1efe3.zip | |
refactor(run): generic errors
| -rw-r--r-- | src/lib.rs | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -250,18 +250,18 @@ impl Router { async fn handle( &self, stream: &mut tokio_openssl::SslStream<tokio::net::TcpStream>, - ) -> std::io::Result<()> { + ) -> Result<(), Box<dyn std::error::Error>> { let mut buffer = [0u8; 1024]; - let mut url = Url::parse("gemini://fuwn.me/").unwrap(); + let mut url = Url::parse("gemini://fuwn.me/")?; let mut response_status = 0; let mut footer = String::new(); let mut header = String::new(); let content; while let Ok(size) = stream.read(&mut buffer).await { - let content = String::from_utf8(buffer[0..size].to_vec()).unwrap(); + let content = String::from_utf8(buffer[0..size].to_vec())?; - url = url::Url::parse(&content.replace("\r\n", "")).unwrap(); + url = url::Url::parse(&content.replace("\r\n", ""))?; if content.contains("\r\n") { break; @@ -348,7 +348,9 @@ impl Router { } }); - stream.shutdown().await + stream.shutdown().await?; + + Ok(()) } fn create_acceptor(&mut self) { |