"""
Serveur HTTP simple pour tester les pages de paiement
"""
import http.server
import socketserver
import os
import webbrowser
from pathlib import Path

# Configuration
PORT = 8080
DIRECTORY = Path(__file__).parent.parent / "web"

class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, directory=str(DIRECTORY), **kwargs)
    
    def end_headers(self):
        # Ajouter les headers CORS pour l'API locale
        self.send_header('Access-Control-Allow-Origin', '*')
        self.send_header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS')
        self.send_header('Access-Control-Allow-Headers', 'Content-Type')
        super().end_headers()

def main():
    print("\n" + "="*60)
    print("🌐 Serveur HTTP pour Web Sentinel - Pages de Paiement")
    print("="*60)
    
    # Vérifier que le répertoire existe
    if not DIRECTORY.exists():
        print(f"❌ Erreur: Le répertoire {DIRECTORY} n'existe pas")
        return
    
    print(f"\n📁 Répertoire servi: {DIRECTORY}")
    print(f"🔌 Port: {PORT}")
    
    # Créer le serveur
    with socketserver.TCPServer(("", PORT), MyHTTPRequestHandler) as httpd:
        url = f"http://localhost:{PORT}/payment/pricing.html"
        
        print(f"\n✅ Serveur démarré avec succès!")
        print(f"\n🔗 Ouvrez cette URL dans votre navigateur:")
        print(f"   {url}")
        print(f"\n💡 Assurez-vous que l'API est en cours d'exécution sur le port 5000")
        print(f"\n⚠️  Appuyez sur Ctrl+C pour arrêter le serveur\n")
        print("="*60 + "\n")
        
        # Ouvrir automatiquement dans le navigateur
        try:
            webbrowser.open(url)
            print("🌐 Page ouverte automatiquement dans le navigateur\n")
        except:
            print("⚠️  Impossible d'ouvrir automatiquement le navigateur\n")
        
        # Démarrer le serveur
        try:
            httpd.serve_forever()
        except KeyboardInterrupt:
            print("\n\n🛑 Arrêt du serveur...")
            print("✅ Serveur arrêté avec succès\n")

if __name__ == '__main__':
    main()
