diff --git a/src/server.rs b/src/server.rs index 7277c6f..5d9a794 100644 --- a/src/server.rs +++ b/src/server.rs @@ -61,7 +61,9 @@ pub async fn listen( let _bytes_read = reader.read_until(b'\n', &mut vec_buf).await?; let msg = String::from_utf8(vec_buf.clone())?; if msg.trim() != "ACK" { - panic!("ACK not received (buffersize), instead got {}", msg); + let e: Box = + format!("ACK not received (buffersize)").into(); + return Err::<(), Box>(e); } else { vec_buf.clear(); } @@ -81,7 +83,9 @@ pub async fn listen( let _bytes_read = reader.read_until(b'\n', &mut vec_buf).await?; let msg = String::from_utf8(vec_buf.clone())?; if msg.trim() != "FIN" { - panic!("ACK not received (server-side-termination)"); + let e: Box = + format!("ACK not received (server-side termination)").into(); + return Err::<(), Box>(e); } else { // Empty error as error's reason is already logged with println let e: Box = "".into(); @@ -99,7 +103,9 @@ pub async fn listen( let _bytes_read = reader.read_until(b'\n', &mut vec_buf).await?; let msg = String::from_utf8(vec_buf.clone())?; if msg.trim() != "ACK" { - panic!("ACK not received (amount), instead got {}", msg); + let e: Box = + format!("ACK not received (file amount)").into(); + return Err::<(), Box>(e); } else { vec_buf.clear(); } @@ -157,7 +163,9 @@ pub async fn listen( let _bytes_read = reader.read_until(b'\n', &mut vec_buf).await?; let msg = String::from_utf8(vec_buf.clone())?; if msg.trim() != "ACK" { - panic!("ACK not received (file), instead got {}", msg); + let e: Box = + format!("ACK not received (single file's data)").into(); + return Err::<(), Box>(e); } else { println!("[+] File transfer successfully done"); vec_buf.clear();