Improved server-side logs
This commit is contained in:
		
							parent
							
								
									5a56afb709
								
							
						
					
					
						commit
						517d66b11b
					
				@ -167,6 +167,12 @@ fn handle_client(stream: TcpStream, clients: Arc<Mutex<UserMap>>) {
 | 
				
			|||||||
    let name: String = match (|| loop {
 | 
					    let name: String = match (|| loop {
 | 
				
			||||||
        match receive!() {
 | 
					        match receive!() {
 | 
				
			||||||
            input => {
 | 
					            input => {
 | 
				
			||||||
 | 
					                println!(
 | 
				
			||||||
 | 
					                    "{time} Client {addr} : {message}",
 | 
				
			||||||
 | 
					                    time = get_time(),
 | 
				
			||||||
 | 
					                    addr = client,
 | 
				
			||||||
 | 
					                    message = input
 | 
				
			||||||
 | 
					                );
 | 
				
			||||||
                let spliced_input: Vec<&str> = input.split_whitespace().collect();
 | 
					                let spliced_input: Vec<&str> = input.split_whitespace().collect();
 | 
				
			||||||
                if spliced_input.len() != 4 && spliced_input.len() != 5
 | 
					                if spliced_input.len() != 4 && spliced_input.len() != 5
 | 
				
			||||||
                    || spliced_input[0] != "PROT"
 | 
					                    || spliced_input[0] != "PROT"
 | 
				
			||||||
@ -183,6 +189,12 @@ fn handle_client(stream: TcpStream, clients: Arc<Mutex<UserMap>>) {
 | 
				
			|||||||
                        for c in username.chars() {
 | 
					                        for c in username.chars() {
 | 
				
			||||||
                            if !c.is_ascii() {
 | 
					                            if !c.is_ascii() {
 | 
				
			||||||
                                ascii_nick = false;
 | 
					                                ascii_nick = false;
 | 
				
			||||||
 | 
					                                println!(
 | 
				
			||||||
 | 
					                                    "{time} to client {addr} : {message}",
 | 
				
			||||||
 | 
					                                    time = get_time(),
 | 
				
			||||||
 | 
					                                    addr = client,
 | 
				
			||||||
 | 
					                                    message = "NAME FAILURE"
 | 
				
			||||||
 | 
					                                );
 | 
				
			||||||
                                send!("NAME FAILURE");
 | 
					                                send!("NAME FAILURE");
 | 
				
			||||||
                                break;
 | 
					                                break;
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
@ -199,9 +211,21 @@ fn handle_client(stream: TcpStream, clients: Arc<Mutex<UserMap>>) {
 | 
				
			|||||||
                                }
 | 
					                                }
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            if used == false {
 | 
					                            if used == false {
 | 
				
			||||||
 | 
					                                println!(
 | 
				
			||||||
 | 
					                                    "{time} to client {addr} : {message}",
 | 
				
			||||||
 | 
					                                    time = get_time(),
 | 
				
			||||||
 | 
					                                    addr = client,
 | 
				
			||||||
 | 
					                                    message = "NAME OK"
 | 
				
			||||||
 | 
					                                );
 | 
				
			||||||
                                send!("NAME OK");
 | 
					                                send!("NAME OK");
 | 
				
			||||||
                                return Ok(username);
 | 
					                                return Ok(username);
 | 
				
			||||||
                            } else {
 | 
					                            } else {
 | 
				
			||||||
 | 
					                                println!(
 | 
				
			||||||
 | 
					                                    "{time} to client {addr} : {message}",
 | 
				
			||||||
 | 
					                                    time = get_time(),
 | 
				
			||||||
 | 
					                                    addr = client,
 | 
				
			||||||
 | 
					                                    message = "NAME FAILURE"
 | 
				
			||||||
 | 
					                                );
 | 
				
			||||||
                                send!("NAME FAILURE");
 | 
					                                send!("NAME FAILURE");
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
@ -211,9 +235,21 @@ fn handle_client(stream: TcpStream, clients: Arc<Mutex<UserMap>>) {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                loop {
 | 
					                loop {
 | 
				
			||||||
 | 
					                    println!(
 | 
				
			||||||
 | 
					                        "{time} to client {addr} : {message}",
 | 
				
			||||||
 | 
					                        time = get_time(),
 | 
				
			||||||
 | 
					                        addr = client,
 | 
				
			||||||
 | 
					                        message = "NAME REQ"
 | 
				
			||||||
 | 
					                    );
 | 
				
			||||||
                    send!("NAME REQ");
 | 
					                    send!("NAME REQ");
 | 
				
			||||||
                    match receive!() {
 | 
					                    match receive!() {
 | 
				
			||||||
                        input => {
 | 
					                        input => {
 | 
				
			||||||
 | 
					                            println!(
 | 
				
			||||||
 | 
					                                "{time} Client {addr} : {message}",
 | 
				
			||||||
 | 
					                                time = get_time(),
 | 
				
			||||||
 | 
					                                addr = client,
 | 
				
			||||||
 | 
					                                message = input
 | 
				
			||||||
 | 
					                            );
 | 
				
			||||||
                            let spliced_input: Vec<&str> = input.split_whitespace().collect();
 | 
					                            let spliced_input: Vec<&str> = input.split_whitespace().collect();
 | 
				
			||||||
                            if spliced_input.len() != 2 || spliced_input[0] != "NAME" {
 | 
					                            if spliced_input.len() != 2 || spliced_input[0] != "NAME" {
 | 
				
			||||||
                                return Err(Error::new(ErrorKind::Other, "BAD REQ"));
 | 
					                                return Err(Error::new(ErrorKind::Other, "BAD REQ"));
 | 
				
			||||||
@ -223,6 +259,12 @@ fn handle_client(stream: TcpStream, clients: Arc<Mutex<UserMap>>) {
 | 
				
			|||||||
                            for c in username.chars() {
 | 
					                            for c in username.chars() {
 | 
				
			||||||
                                if !c.is_ascii() {
 | 
					                                if !c.is_ascii() {
 | 
				
			||||||
                                    ascii_nick = false;
 | 
					                                    ascii_nick = false;
 | 
				
			||||||
 | 
					                                    println!(
 | 
				
			||||||
 | 
					                                        "{time} to client {addr} : {message}",
 | 
				
			||||||
 | 
					                                        time = get_time(),
 | 
				
			||||||
 | 
					                                        addr = client,
 | 
				
			||||||
 | 
					                                        message = "NAME FAILURE"
 | 
				
			||||||
 | 
					                                    );
 | 
				
			||||||
                                    send!("NAME FAILURE");
 | 
					                                    send!("NAME FAILURE");
 | 
				
			||||||
                                    break;
 | 
					                                    break;
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
@ -239,9 +281,21 @@ fn handle_client(stream: TcpStream, clients: Arc<Mutex<UserMap>>) {
 | 
				
			|||||||
                                    }
 | 
					                                    }
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
                                if used == false {
 | 
					                                if used == false {
 | 
				
			||||||
 | 
					                                    println!(
 | 
				
			||||||
 | 
					                                        "{time} to client {addr} : {message}",
 | 
				
			||||||
 | 
					                                        time = get_time(),
 | 
				
			||||||
 | 
					                                        addr = client,
 | 
				
			||||||
 | 
					                                        message = "NAME OK"
 | 
				
			||||||
 | 
					                                    );
 | 
				
			||||||
                                    send!("NAME OK");
 | 
					                                    send!("NAME OK");
 | 
				
			||||||
                                    return Ok(username);
 | 
					                                    return Ok(username);
 | 
				
			||||||
                                } else {
 | 
					                                } else {
 | 
				
			||||||
 | 
					                                    println!(
 | 
				
			||||||
 | 
					                                        "{time} to client {addr} : {message}",
 | 
				
			||||||
 | 
					                                        time = get_time(),
 | 
				
			||||||
 | 
					                                        addr = client,
 | 
				
			||||||
 | 
					                                        message = "NAME FAILURE"
 | 
				
			||||||
 | 
					                                    );
 | 
				
			||||||
                                    send!("NAME FAILURE");
 | 
					                                    send!("NAME FAILURE");
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
@ -255,7 +309,7 @@ fn handle_client(stream: TcpStream, clients: Arc<Mutex<UserMap>>) {
 | 
				
			|||||||
        Ok(name) => name,
 | 
					        Ok(name) => name,
 | 
				
			||||||
        Err(e) => {
 | 
					        Err(e) => {
 | 
				
			||||||
            println!(
 | 
					            println!(
 | 
				
			||||||
                "{time} Client {addr} encountered an error: {err}",
 | 
					                "{time} client {addr} encountered an error: {err}",
 | 
				
			||||||
                time = get_time(),
 | 
					                time = get_time(),
 | 
				
			||||||
                addr = client,
 | 
					                addr = client,
 | 
				
			||||||
                err = e
 | 
					                err = e
 | 
				
			||||||
@ -290,11 +344,25 @@ fn handle_client(stream: TcpStream, clients: Arc<Mutex<UserMap>>) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                match input {
 | 
					                match input {
 | 
				
			||||||
                    "BYE" => {
 | 
					                    "BYE" => {
 | 
				
			||||||
 | 
					                        println!(
 | 
				
			||||||
 | 
					                            "{time} to client {addr} : {message}",
 | 
				
			||||||
 | 
					                            time = get_time(),
 | 
				
			||||||
 | 
					                            addr = client,
 | 
				
			||||||
 | 
					                            message = "BYE"
 | 
				
			||||||
 | 
					                        );
 | 
				
			||||||
                        send!("BYE");
 | 
					                        send!("BYE");
 | 
				
			||||||
                        return Ok(());
 | 
					                        return Ok(());
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    "PING" => send!("PONG"),
 | 
					                    "PING" => {
 | 
				
			||||||
 | 
					                        println!(
 | 
				
			||||||
 | 
					                            "{time} to client {addr} : {message}",
 | 
				
			||||||
 | 
					                            time = get_time(),
 | 
				
			||||||
 | 
					                            addr = client,
 | 
				
			||||||
 | 
					                            message = "NAME FAILURE"
 | 
				
			||||||
 | 
					                        );
 | 
				
			||||||
 | 
					                        send!("PONG");
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    "REQ CLIENTS" => {
 | 
					                    "REQ CLIENTS" => {
 | 
				
			||||||
                        let mut lock = clients.lock().unwrap();
 | 
					                        let mut lock = clients.lock().unwrap();
 | 
				
			||||||
@ -320,9 +388,11 @@ fn handle_client(stream: TcpStream, clients: Arc<Mutex<UserMap>>) {
 | 
				
			|||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            _ => {
 | 
					                            _ => {
 | 
				
			||||||
                                println!(
 | 
					                                println!(
 | 
				
			||||||
                                    "{time} Sending: BAD REQ. Cause: {message}",
 | 
					                                    "{time} to client {addr} : \"{message}\", cause : {inmessage}",
 | 
				
			||||||
                                    time = get_time(),
 | 
					                                    time = get_time(),
 | 
				
			||||||
                                    message = input
 | 
					                                    addr = client,
 | 
				
			||||||
 | 
					                                    message = "BAD REQ",
 | 
				
			||||||
 | 
					                                    inmessage = input
 | 
				
			||||||
                                );
 | 
					                                );
 | 
				
			||||||
                                send!("BAD REQ");
 | 
					                                send!("BAD REQ");
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user