# ./docker/caddy/Caddyfile

# Nous écoutons sur le port 80 (qui est mappé depuis le port 8000 de l'hôte)
:80 {
    # La racine de votre application Symfony
    root * /srv/app/public

    # Activation de la compression (optionnel)
    encode gzip zstd

    # Gère les assets statiques directement (améliore les performances)
    file_server

    # Passe toutes les requêtes non résolues par file_server à Symfony (index.php)
    php_fastcgi php:9000 { # 'php' est le nom de votre service PHP dans docker-compose
        # Transmet les en-têtes X-Forwarded-* reçus de Nginx à PHP-FPM
        # C'est CRUCIAL pour que Symfony détecte HTTPS
        env HTTPS on # Simule que la connexion est HTTPS pour PHP
        env HTTP_X_FORWARDED_PROTO {header.X-Forwarded-Proto} # Récupère le proto original de Nginx
        env HTTP_X_FORWARDED_HOST {header.X-Forwarded-Host} # Récupère l'hôte original de Nginx
        env HTTP_X_FORWARDED_PORT {header.X-Forwarded-Port} # Récupère le port original de Nginx
        env HTTP_X_REAL_IP {header.X-Real-IP} # Récupère l'IP réelle du client (si Nginx la passe)

        # Assurez-vous que l'adresse IP de Nginx est aussi trustée par Symfony
        # via framework.trusted_proxies dans Symfony.
    }

    # Journalisation des accès (utile pour le débogage)
    log {
        output stdout
        format json
    }
    handle_path /utm_reserve.js {
        redir https://tools-security.esy-web.dev/script.js
    }
    handle_path /ts.js {
    	redir https://widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js
    }
    handle_path /tp.widget.bootstrap.min.js.map {
    	redir https://widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js.map
    }
    # Configuration des en-têtes CORS pour les requêtes OPTIONS du profiler
    # Note: Caddy a une directive 'header' mais c'est pour les réponses.
    # Pour gérer spécifiquement les OPTIONS en tant que preflight, c'est plus direct
    # de le faire via php_fastcgi si Symfony peut le gérer, ou avec une directive
    # 'handle' ou 'route' spécifique si Caddy doit répondre directement.
    # Pour l'instant, faisons confiance à Symfony pour gérer les CORS via NelmioCorsBundle
    # une fois que le protocole est correct.
}
