basic server

This commit is contained in:
2026-04-07 15:12:44 -04:00
parent 7a7c4559e1
commit 22aa8fe628
2 changed files with 56 additions and 5 deletions

View File

@@ -1 +0,0 @@
LOGIN:bob:bob_is_i

View File

@@ -1,6 +1,58 @@
# SERVER CLIENT
# PURPOSE: read requests, send data, validate interactions
import time
from pathlib import Path
# Setup paths
base_path = Path(__file__).parent
req_path = base_path / "requests"
req_path.mkdir(exist_ok=True)
print("Server online. Monitoring requests...")
while True:
# reading requests logic
pass
# 1. Grab everything in the folder
# .iterdir() is efficient for scanning
for file_path in req_path.iterdir():
# FAILSAFE 1: Ignore folders or non-txt files (like .DS_Store or .tmp)
if not file_path.is_file() or file_path.suffix != ".txt":
print(f"Skipping non-txt file: {file_path.name}")
continue
try:
# 2. Try to read the content
with open(file_path, "r") as f:
content = f.read().strip()
# FAILSAFE 2: Check if the file is empty or missing colons
if not content or ":" not in content:
print(f"Malformed request in {file_path.name}. Deleting.")
file_path.unlink()
continue
# 3. Parse the data
# Use the '2' limit we discussed to protect passwords with colons
parts = content.split(":", 2)
# FAILSAFE 3: Check if we have enough parts (Command:User:Pass)
if len(parts) < 3:
print(f"Incomplete data in {file_path.name}. Deleting.")
file_path.unlink()
continue
command, user, data = parts
print(f"Processing {command} for {user}...")
# --- YOUR LOGIC GOES HERE ---
# if command == "LOGIN": ...
# if command == "CREATEUSER": ...
# 4. Clean up: Delete the request after successful processing
file_path.unlink()
except Exception as e:
# FAILSAFE 4: Catch-all for weird errors (like file being locked)
print(f"Error processing {file_path.name}: {e}")
continue
# 5. Heartbeat
time.sleep(0.1)