class JWTAuthCookieMiddleware:
    """
    Middleware que lee el access_token de las cookies
    y lo coloca en el header Authorization para que
    Django REST Framework JWT pueda autenticar.
    """

    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        # Leer el access_token de las cookies
        access_token = request.COOKIES.get('access_token')

        if access_token:
            # Agregar el token al header Authorization
            request.META['HTTP_AUTHORIZATION'] = f'Bearer {access_token}'

        response = self.get_response(request)
        return response