| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
							- import django.db
 
- from django.utils.deprecation import MiddlewareMixin
 
- from Ansjer import config as api_settings
 
- from Object.ResponseObject import ResponseObject
 
- from Service import CloudLogs
 
- from Service.MiscellService import MiscellService
 
- class StatisticsUrlMiddleware(MiddlewareMixin):
 
-     def _https_statistics_to_reverse(self, request):
 
-         path = request.path
 
-         index = path.find('/OTA/downloads')
 
-         if index != -1:
 
-             addsCount = len(api_settings.ADDR_URL)
 
-             if addsCount > 1000:
 
-                 return -1
 
-             else:
 
-                 adds = request.META.get('REMOTE_ADDR', None)
 
-                 api_settings.ADDR_URL.append(adds)
 
-                 return 0
 
-     def _https_statistics_to_close(self, request):
 
-         addsCount = len(api_settings.ADDR_URL)
 
-         if addsCount > 0:
 
-             api_settings.ADDR_URL.pop(0)
 
-     def process_request(self, request):
 
-         if request.path != '/favicon.ico':
 
-             print('process_request:', request)
 
-         result = self._https_statistics_to_reverse(request)
 
-         if result == -1:
 
-             response = ResponseObject()
 
-             return response.json(910)
 
-         return None
 
-     def process_view(self, request, callback, callback_args, callback_kwargs):
 
-         if request.path != '/favicon.ico':
 
-             print('process_view:', request)
 
-         return None
 
-     def process_response(self, request, response):
 
-         self._https_statistics_to_close(request)
 
-         if request.path != '/favicon.ico':
 
-             CloudLogs.batch_add_access_log(request=request, status_code=response.status_code)
 
-             try:
 
-                 MiscellService.add_access_log(request=request, status_code=response.status_code)
 
-             except Exception as e:
 
-                 print(repr(e))
 
-             django.db.close_old_connections()
 
-         return response
 
 
  |