From 9e3757eea25b71461c45521dd1ef6c17be34744f Mon Sep 17 00:00:00 2001 From: salmonik Date: Sat, 28 Feb 2026 21:10:20 +0100 Subject: Revert "folder restructuring" This reverts commit 17082597464198fe84be80313b7d51e1e57de639. --- src/server/handler.rs | 64 --------------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 src/server/handler.rs (limited to 'src/server/handler.rs') diff --git a/src/server/handler.rs b/src/server/handler.rs deleted file mode 100644 index 2132d09..0000000 --- a/src/server/handler.rs +++ /dev/null @@ -1,64 +0,0 @@ -use std::io::{BufRead, BufReader, Write}; -use std::net::TcpStream; -use std::sync::Mutex; -use once_cell::sync::Lazy; -use rusqlite::Connection; -use crate::database; - -static DB_CONN: Lazy> = Lazy::new(|| Mutex::new(database::init_db())); - -pub fn handle_client(stream: TcpStream) { - let client_addr = stream.peer_addr().unwrap().to_string(); - let mut user = "guest".to_string(); - println!("[{} @ {}] Client connected", user, client_addr); - let reader_stream = stream.try_clone().unwrap(); - let reader = BufReader::new(reader_stream); - let mut writer = stream; - for line in reader.lines() { - let line = line.unwrap(); - println!("[{} @ {}] Received: {}", user, client_addr, line); - let response = process_message(&line, &mut user); - writeln!(writer, "{}", response).unwrap(); - } - println!("[{} @ {}] Client disconnected", user, client_addr); -} - -fn process_message(msg: &str, user: &mut String) -> String { - let parts: Vec<&str> = msg.splitn(3, ' ').collect(); - match parts[0] { - "REGISTER" => { - if parts.len() != 3 { - "FAIL Invalid REGISTER format".to_string() - } else { - let username = parts[1]; - let hashed_pass = parts[2]; - let db = DB_CONN.lock().unwrap(); - match database::add_user(&db, username, hashed_pass) { - Ok(_) => format!("OK Registered {}", username), - Err(_) => "FAIL User already exists".to_string(), - } - } - } - "AUTH" => { - if parts.len() != 3 { - "FAIL Invalid AUTH format".to_string() - } else { - let username = parts[1]; - let provided_hash = parts[2]; - let db = DB_CONN.lock().unwrap(); - if let Some(stored_hash) = database::get_hashed_password(&db, username) { - if provided_hash == stored_hash { - *user = username.to_string(); - format!("OK {}", username) - } else { - "FAIL Invalid credentials".to_string() - } - } else { - "FAIL User not found".to_string() - } - } - } - "PING" => "PING".to_string(), - _ => msg.to_string(), // Echo back for compatibility - } -} -- cgit v1.2.3