"""
Middleware pour autoriser l'affichage des réponses Django (PDF, etc.)
dans une iframe depuis le frontend (ex. frontend React en local ou en prod).
"""
from django.conf import settings


class FrameOptionsMiddleware:
    """
    En DEBUG, assouplit les règles de framing pour permettre l'affichage
    des contenus (PDF, etc.) dans une iframe depuis le frontend.
    """
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        response = self.get_response(request)
        if getattr(settings, 'DEBUG', False):
            # Retirer l'en-tête par défaut qui bloque l'iframe
            if 'X-Frame-Options' in response:
                del response['X-Frame-Options']
            # En dev, autoriser largement le framing pour éviter les blocages locaux
            response['Content-Security-Policy'] = "frame-ancestors *"
        return response
