internal 1.1.39.1__py3-none-any.whl → 1.1.39.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of internal might be problematic. Click here for more details.

@@ -1,3 +1,4 @@
1
+ import json
1
2
  import logging
2
3
  import time
3
4
 
@@ -42,12 +43,48 @@ class LogRequestMiddleware(BaseHTTPMiddleware):
42
43
  # 如果解碼失敗,顯示原始 bytes
43
44
  body_str = str(body)
44
45
 
45
- self.logger.info(f"[Request id: {request_id}] \nURL: {method} {url} \nParams: {params} \nBody: {body_str} \nHeaders: {headers} \nstart processing...")
46
+ request_info = {
47
+ "request_id": request_id,
48
+ "method": method,
49
+ "url": url,
50
+ "params": params,
51
+ "body": body_str,
52
+ "content_type": content_type,
53
+ "user_agent": headers.get("user-agent", "")
54
+ }
55
+ self.logger.info(f"Request started: {json.dumps(request_info, ensure_ascii=False)}")
46
56
 
47
57
  # 记录请求处理时间
48
58
  start_time = time.time()
49
- response = await call_next(request)
50
- process_time = time.time() - start_time
59
+ try:
60
+ response = await call_next(request)
61
+ process_time = time.time() - start_time
62
+ status_code = response.status_code
51
63
 
52
- self.logger.info(f"[Request id: {request_id}] \nURL: {method} {url} \nParams: {params} \nBody: {body_str} \nCompleted in {process_time:.4f} seconds")
53
- return response
64
+ # 记录成功响应
65
+ response_info = {
66
+ "request_id": request_id,
67
+ "method": method,
68
+ "url": url,
69
+ "status_code": status_code,
70
+ "process_time": round(process_time, 4)
71
+ }
72
+
73
+ self.logger.info(f"Request completed: {json.dumps(response_info, ensure_ascii=False)}")
74
+
75
+ return response
76
+
77
+ except Exception as e:
78
+ process_time = time.time() - start_time
79
+
80
+ # 记录异常
81
+ error_info = {
82
+ "request_id": request_id,
83
+ "method": method,
84
+ "url": url,
85
+ "error": str(e),
86
+ "process_time": round(process_time, 4)
87
+ }
88
+
89
+ self.logger.error(f"Request failed: {json.dumps(error_info, ensure_ascii=False)}")
90
+ raise
internal/utils.py CHANGED
@@ -1,5 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  import json
3
+ import hashlib
3
4
  from datetime import datetime, timezone
4
5
 
5
6
  import arrow
@@ -105,6 +106,7 @@ def get_dealer_by_organization_id(organization_id: str) -> str:
105
106
 
106
107
  return organization_id
107
108
 
109
+
108
110
  def extract_title(name):
109
111
  if '小姐' in name:
110
112
  return '小姐'
@@ -115,6 +117,7 @@ def extract_title(name):
115
117
  else:
116
118
  return None
117
119
 
120
+
118
121
  def extract_name(name):
119
122
  """从姓名中提取真实姓名"""
120
123
  # 检查是否包含 '小姐' 或 '先生' 并提取姓名
@@ -125,4 +128,16 @@ def extract_name(name):
125
128
  elif '先生' in name:
126
129
  return name.split('先生')[0].strip()
127
130
  else:
128
- return name.strip()
131
+ return name.strip()
132
+
133
+
134
+ def hash_login_password(passwd):
135
+ prefix = '___'
136
+ postfix = '_______'
137
+ data = str(passwd)
138
+ sha_256 = hashlib.sha256()
139
+ sha_256.update(prefix.encode())
140
+ sha_256.update(data.encode())
141
+ sha_256.update(postfix.encode())
142
+
143
+ return sha_256.hexdigest()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: internal
3
- Version: 1.1.39.1
3
+ Version: 1.1.39.3
4
4
  Summary:
5
5
  Author: Ray
6
6
  Author-email: ray@cruisys.com
@@ -29,12 +29,12 @@ internal/http/responses.py,sha256=75vJGS_aA9a5ff0HI6N03KM0CErIsAOtD06x7qr6yoQ,30
29
29
  internal/interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
30
  internal/interface/base_interface.py,sha256=3YaVjIgLi_pZpLk5SEIk8WVkuICM8qPavT8rB0MdB5U,1536
31
31
  internal/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- internal/middleware/log_request.py,sha256=-UDH5u-Y8Lq0O1wzU7vYIEypP4K37mCE5cTH6dqmeeQ,2049
32
+ internal/middleware/log_request.py,sha256=ZtCyfrF3IyKTF6Uj8L66CutdZi3srVmppqO_EXT5Tuw,3035
33
33
  internal/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  internal/model/base_model.py,sha256=2M9EUWitzG-5FD4tYbUULBcWL6045HfS6OkpwzevmsY,7892
35
35
  internal/model/operate.py,sha256=QSM6yXYXpJMwrqkUGEWZLrEBaUgqHwVHY_Fi4S42hKc,3190
36
- internal/utils.py,sha256=wK1QumW1AaWE1ga2-WcDH2rtXRr2hSLwXzy-iI5dTzY,3962
36
+ internal/utils.py,sha256=3UsbYayewGBt8xbf05p6vOTgsOVvEIX8Vs5nhdAQSqI,4251
37
37
  internal/validator_utils.py,sha256=CqjaVFoAu5MqvBG_AkTP-r7AliWawtUWB851USj4moI,1519
38
- internal-1.1.39.1.dist-info/METADATA,sha256=V-StsSWjI00VoSnkPEY4JL-asH5V3AMFEFbIb415BZs,941
39
- internal-1.1.39.1.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
40
- internal-1.1.39.1.dist-info/RECORD,,
38
+ internal-1.1.39.3.dist-info/METADATA,sha256=kKVvJwJYWSA_DbzwUdd7cswyY2zD3HzF7SKacyFOV8A,941
39
+ internal-1.1.39.3.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
40
+ internal-1.1.39.3.dist-info/RECORD,,