from .models import AuditLog
class AuditIPMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response
    def __call__(self, request):
        response = self.get_response(request)
        if request.user.is_authenticated and request.path not in ("/static/",):
            # Prototype audit metadata only. Do not use IP as identity or authorization.
            ip = request.META.get("REMOTE_ADDR")
            try:
                AuditLog.objects.create(user=request.user, action="http_request",
                    ip_address=ip, details=request.method + " " + request.path[:180])
            except Exception:
                pass
        return response
