Debugging

This commit is contained in:
Bastian Gruber 2023-04-20 18:44:22 +00:00
parent c1da24ba29
commit 3b6b1e8398

View file

@ -41,6 +41,8 @@ async fn handle_request(mut socket: TcpStream) {
let mut buf: Vec<u8> = Vec::new(); let mut buf: Vec<u8> = Vec::new();
let mut reader = BufReader::new(read); let mut reader = BufReader::new(read);
loop {
let bytes = reader.read_until(b'\n', &mut buf).await; let bytes = reader.read_until(b'\n', &mut buf).await;
if let Ok(0) = bytes { if let Ok(0) = bytes {
@ -51,7 +53,15 @@ async fn handle_request(mut socket: TcpStream) {
return; return;
} }
let message: serde_json::Value = serde_json::from_slice(&buf).unwrap(); let message: serde_json::Value = match serde_json::from_slice(&buf) {
Ok(m) => m,
Err(e) => {
let _ = write.write(&MAL_FORMAT.as_bytes()).await;
let _ = write.write(&[b'\n']).await;
let _ = write.flush().await;
return;
}
};
log::info!("Message received: {}", message); log::info!("Message received: {}", message);
@ -61,10 +71,12 @@ async fn handle_request(mut socket: TcpStream) {
Ok(n) => n, Ok(n) => n,
Err(e) => { Err(e) => {
log::error!("Not a valid number: {}", e); log::error!("Not a valid number: {}", e);
if let Err(e) = write
let _ = write.write(&MAL_FORMAT.as_bytes()).await; .write(&serde_json::to_string(&Response {method: IS_PRIME.to_owned(), prime: false}).unwrap().as_bytes())
let _ = write.write(&[b'\n']).await; .await
let _ = write.flush().await; {
log::error!("Error writing serialize step: {}", e);
}
return; return;
} }
}; };
@ -75,6 +87,7 @@ async fn handle_request(mut socket: TcpStream) {
}; };
if m.method == IS_PRIME.to_owned() { if m.method == IS_PRIME.to_owned() {
log::info!("All good, send response: {:?}", res);
if let Err(e) = write if let Err(e) = write
.write(&serde_json::to_string(&res).unwrap().as_bytes()) .write(&serde_json::to_string(&res).unwrap().as_bytes())
.await .await
@ -112,3 +125,4 @@ async fn handle_request(mut socket: TcpStream) {
} }
} }
} }
}