Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. from django.utils.timezone import now
  2.  
  3. from drf_request_tracking.models import APIRequestLog
  4.  
  5.  
  6. class DatabaseLogMiddleware(object):
  7. def __init__(self, get_response):
  8. self.get_response = get_response
  9.  
  10. def __call__(self, request):
  11. request.requested_at = now().strftime('%Y-%m-%d %H:%M:%S')
  12. response = self.get_response(request)
  13. if request.path.startswith('/api/'):
  14. print(request.path)
  15. log = {
  16. 'user': request.user if not request.user.is_anonymous else None,
  17. 'requested_at': request.requested_at,
  18. 'response_ms': 0,
  19. 'path': request.path,
  20. 'view': None, # TODO implementar
  21. 'view_method': None, # TODO implementar
  22. 'remote_addr': '127.0.0.1', # TODO implementar
  23. 'host': request.get_host,
  24. 'method': request.method,
  25. 'query_params': '',
  26. 'data': request.body,
  27. 'response': response,
  28. 'errors': None, # TODO implementar
  29. 'status_code': response.status_code,
  30. }
  31. _log = APIRequestLog.objects.create(**log)
  32. print(_log)
  33. return response
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement