Check for proper username
This commit is contained in:
parent
b5a7e04051
commit
4d4df0ea06
1 changed files with 17 additions and 12 deletions
|
|
@ -57,17 +57,22 @@ async fn main() -> Result<()> {
|
|||
// we won't process until we find one.
|
||||
match framed.next().await {
|
||||
Some(Ok(username)) => {
|
||||
name = username.clone();
|
||||
db.0.lock().unwrap().insert(username.clone(), address);
|
||||
let message = compose_message(username.clone(), db.clone());
|
||||
info!("Adding username: {username} to db");
|
||||
let _ = framed.send(message).await;
|
||||
info!("Send message to client");
|
||||
let b = BroadcastMessage(
|
||||
username.clone(),
|
||||
format!("* {} has entered the room", username),
|
||||
);
|
||||
let _ = tx.send(b);
|
||||
if !username.is_empty() && username.is_ascii() {
|
||||
name = username.clone();
|
||||
db.0.lock().unwrap().insert(username.clone(), address);
|
||||
let message = compose_message(username.clone(), db.clone());
|
||||
info!("Adding username: {username} to db");
|
||||
let _ = framed.send(message).await;
|
||||
info!("Send message to client");
|
||||
let b = BroadcastMessage(
|
||||
username.clone(),
|
||||
format!("* {} has entered the room", username),
|
||||
);
|
||||
let _ = tx.send(b);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
Some(Err(e)) => {
|
||||
error!("Error parsing message: {e}");
|
||||
|
|
@ -98,7 +103,7 @@ async fn main() -> Result<()> {
|
|||
info!("No next frame");
|
||||
let b =
|
||||
BroadcastMessage(name.clone(), format!("* {} has left the room", name));
|
||||
db.0.lock().unwrap().remove(username.clone());
|
||||
db.0.lock().unwrap().remove(&name.clone());
|
||||
let _ = tx.send(b);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue