internal 1.1.38__tar.gz → 1.1.39__tar.gz

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.

Files changed (40) hide show
  1. {internal-1.1.38 → internal-1.1.39}/PKG-INFO +1 -1
  2. {internal-1.1.38 → internal-1.1.39}/pyproject.toml +1 -1
  3. {internal-1.1.38 → internal-1.1.39}/src/internal/middleware/log_request.py +12 -6
  4. {internal-1.1.38 → internal-1.1.39}/README.md +0 -0
  5. {internal-1.1.38 → internal-1.1.39}/src/internal/__init__.py +0 -0
  6. {internal-1.1.38 → internal-1.1.39}/src/internal/base_config.py +0 -0
  7. {internal-1.1.38 → internal-1.1.39}/src/internal/base_factory.py +0 -0
  8. {internal-1.1.38 → internal-1.1.39}/src/internal/cache_redis.py +0 -0
  9. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/__init__.py +0 -0
  10. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/car_relation_type.py +0 -0
  11. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/description_type.py +0 -0
  12. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/device_code.py +0 -0
  13. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/event_code.py +0 -0
  14. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/lpr_direction.py +0 -0
  15. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/notify_type.py +0 -0
  16. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/operator_type.py +0 -0
  17. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/order_type.py +0 -0
  18. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/point_type.py +0 -0
  19. {internal-1.1.38 → internal-1.1.39}/src/internal/common_enum/websocket_channel.py +0 -0
  20. {internal-1.1.38 → internal-1.1.39}/src/internal/const.py +0 -0
  21. {internal-1.1.38 → internal-1.1.39}/src/internal/database.py +0 -0
  22. {internal-1.1.38 → internal-1.1.39}/src/internal/exception/__init__.py +0 -0
  23. {internal-1.1.38 → internal-1.1.39}/src/internal/exception/app_exception.py +0 -0
  24. {internal-1.1.38 → internal-1.1.39}/src/internal/exception/base_exception.py +0 -0
  25. {internal-1.1.38 → internal-1.1.39}/src/internal/exception/internal_exception.py +0 -0
  26. {internal-1.1.38 → internal-1.1.39}/src/internal/ext/__init__.py +0 -0
  27. {internal-1.1.38 → internal-1.1.39}/src/internal/ext/amazon/__init__.py +0 -0
  28. {internal-1.1.38 → internal-1.1.39}/src/internal/ext/amazon/aws/__init__.py +0 -0
  29. {internal-1.1.38 → internal-1.1.39}/src/internal/ext/amazon/aws/const.py +0 -0
  30. {internal-1.1.38 → internal-1.1.39}/src/internal/http/__init__.py +0 -0
  31. {internal-1.1.38 → internal-1.1.39}/src/internal/http/requests.py +0 -0
  32. {internal-1.1.38 → internal-1.1.39}/src/internal/http/responses.py +0 -0
  33. {internal-1.1.38 → internal-1.1.39}/src/internal/interface/__init__.py +0 -0
  34. {internal-1.1.38 → internal-1.1.39}/src/internal/interface/base_interface.py +0 -0
  35. {internal-1.1.38 → internal-1.1.39}/src/internal/middleware/__init__.py +0 -0
  36. {internal-1.1.38 → internal-1.1.39}/src/internal/model/__init__.py +0 -0
  37. {internal-1.1.38 → internal-1.1.39}/src/internal/model/base_model.py +0 -0
  38. {internal-1.1.38 → internal-1.1.39}/src/internal/model/operate.py +0 -0
  39. {internal-1.1.38 → internal-1.1.39}/src/internal/utils.py +0 -0
  40. {internal-1.1.38 → internal-1.1.39}/src/internal/validator_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: internal
3
- Version: 1.1.38
3
+ Version: 1.1.39
4
4
  Summary:
5
5
  Author: Ray
6
6
  Author-email: ray@cruisys.com
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "internal"
3
- version = "1.1.38"
3
+ version = "1.1.39"
4
4
  description = ""
5
5
  authors = [{ name = "Ray", email = "ray@cruisys.com" }]
6
6
  readme = "README.md"
@@ -30,18 +30,24 @@ class LogRequestMiddleware(BaseHTTPMiddleware):
30
30
  params = {k: v[0] if len(v) == 1 else v for k, v in temp.items()}
31
31
 
32
32
  body = await request.body()
33
+
34
+ # 解碼 body 為字符串(如果不是 multipart)
33
35
  if is_multipart:
34
- self.logger.info(f"[Request id: {request_id}] \nURL: {method} {url} \nParams: {params} \nBody: 因上傳檔案不顯示body \nHeaders: {headers} \nstart processing...")
36
+ body_str = "因上傳檔案不顯示body"
35
37
  else:
36
- self.logger.info(f"[Request id: {request_id}] \nURL: {method} {url} \nParams: {params} \nBody: {body} \nHeaders: {headers} \nstart processing...")
38
+ try:
39
+ # 嘗試使用 UTF-8 解碼
40
+ body_str = body.decode('utf-8')
41
+ except UnicodeDecodeError:
42
+ # 如果解碼失敗,顯示原始 bytes
43
+ body_str = str(body)
44
+
45
+ self.logger.info(f"[Request id: {request_id}] \nURL: {method} {url} \nParams: {params} \nBody: {body_str} \nHeaders: {headers} \nstart processing...")
37
46
 
38
47
  # 记录请求处理时间
39
48
  start_time = time.time()
40
49
  response = await call_next(request)
41
50
  process_time = time.time() - start_time
42
51
 
43
- if is_multipart:
44
- self.logger.info(f"[Request id: {request_id}] \nURL: {method} {url} \nParams: {params} \nBody: 因上傳檔案不顯示body \nCompleted in {process_time:.4f} seconds")
45
- else:
46
- self.logger.info(f"[Request id: {request_id}] \nURL: {method} {url} \nParams: {params} \nBody: {body} \nCompleted in {process_time:.4f} seconds")
52
+ self.logger.info(f"[Request id: {request_id}] \nURL: {method} {url} \nParams: {params} \nBody: {body_str} \nCompleted in {process_time:.4f} seconds")
47
53
  return response
File without changes