Browse Source

区分ResponseObject.returntype == 'pc'的情况判断响应状态码

locky 3 năm trước cách đây
mục cha
commit
3aff415828
1 tập tin đã thay đổi với 9 bổ sung3 xóa
  1. 9 3
      MiddleWare/requestRecord.py

+ 9 - 3
MiddleWare/requestRecord.py

@@ -45,15 +45,21 @@ class RequestRecordMiddleware(MiddlewareMixin):
             content = eval(str(response.content, 'utf-8'))   # bytes 转为 dict
             logger = logging.getLogger('info')
             logger.info('content: {}'.format(content))
-            if content['result_code'] == 500:
-                print(content['result'])
+            error_flag = False
+            if 'result_code' in content and content['result_code'] == 500:
+                reason_phrase = content['result']
+                error_flag = True
+            elif 'code' in content and content['code'] == 500:    # ResponseObject.returntype == 'pc'
+                reason_phrase = content['data']
+                error_flag = True
+            if error_flag:
                 request_record_data = {
                     'method': method,
                     'url': url,
                     'parameter': parameter,
                     'execute_time': execute_time,
                     'status_code': 500,
-                    'reason_phrase': content['result'],
+                    'reason_phrase': reason_phrase,
                 }
                 RequestRecordModel.objects.create(**request_record_data)
         return response