#!/usr/bin/env python3
"""
Simple HTTP Server for QuickBooks POS Help Documentation
Access via: http://localhost:8888
"""
import http.server
import socketserver
import os
from datetime import datetime

PORT = 8888
DIRECTORY = "QB_Help_Web"

class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, directory=DIRECTORY, **kwargs)
    
    def end_headers(self):
        # Disable caching for development
        self.send_header('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0')
        self.send_header('Pragma', 'no-cache')
        self.send_header('Expires', '0')
        super().end_headers()

os.chdir(os.path.dirname(os.path.abspath(__file__)))

# Use ThreadingTCPServer for better responsiveness
class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
    allow_reuse_address = True

with ThreadedTCPServer(("0.0.0.0", PORT), MyHTTPRequestHandler) as httpd:
    print(f"Server running at:")
    print(f"  Local access:    http://localhost:{PORT}/POS_Help.html")
    print(f"  Network access:  http://192.168.10.130:{PORT}/POS_Help.html")
    print(f"\nFeatures:")
    print(f"  - No caching (instant updates)")
    print(f"  - Multi-threaded (faster response)")
    print(f"\nPress Ctrl+C to stop the server")
    httpd.serve_forever()
