sycommon-python-lib 0.1.56b8__py3-none-any.whl → 0.1.56b10__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.
@@ -11,8 +11,7 @@ def setup_trace_id_handler(app):
11
11
  @app.middleware("http")
12
12
  async def trace_id_and_log_middleware(request: Request, call_next):
13
13
  # ========== 1. 请求阶段:获取/生成 TraceID ==========
14
- trace_id = request.headers.get(
15
- "x-traceId-header") or request.headers.get("x-traceid-header")
14
+ trace_id = request.headers.get("x-traceid-header")
16
15
  if not trace_id:
17
16
  trace_id = Snowflake.id
18
17
 
@@ -101,15 +100,15 @@ def setup_trace_id_handler(app):
101
100
  # 处理 SSE (Server-Sent Events)
102
101
  if "text/event-stream" in response_content_type:
103
102
  try:
104
- response.headers["x-traceId-header"] = trace_id
103
+ response.headers["x-traceid-header"] = trace_id
105
104
  expose_headers = response.headers.get(
106
105
  "access-control-expose-headers", "")
107
106
  if expose_headers:
108
- if "x-traceId-header" not in expose_headers.lower():
107
+ if "x-traceid-header" not in expose_headers.lower():
109
108
  response.headers[
110
- "access-control-expose-headers"] = f"{expose_headers}, x-traceId-header"
109
+ "access-control-expose-headers"] = f"{expose_headers}, x-traceid-header"
111
110
  else:
112
- response.headers["access-control-expose-headers"] = "x-traceId-header"
111
+ response.headers["access-control-expose-headers"] = "x-traceid-header"
113
112
 
114
113
  # SSE 必须移除 Content-Length
115
114
  headers_lower = {
@@ -120,12 +119,12 @@ def setup_trace_id_handler(app):
120
119
  # 流式响应头只读处理
121
120
  new_headers = dict(response.headers) if hasattr(
122
121
  response.headers, 'items') else {}
123
- new_headers["x-traceId-header"] = trace_id
122
+ new_headers["x-traceid-header"] = trace_id
124
123
  if "access-control-expose-headers" in new_headers:
125
- if "x-traceId-header" not in new_headers["access-control-expose-headers"].lower():
126
- new_headers["access-control-expose-headers"] += ", x-traceId-header"
124
+ if "x-traceid-header" not in new_headers["access-control-expose-headers"].lower():
125
+ new_headers["access-control-expose-headers"] += ", x-traceid-header"
127
126
  else:
128
- new_headers["access-control-expose-headers"] = "x-traceId-header"
127
+ new_headers["access-control-expose-headers"] = "x-traceid-header"
129
128
  new_headers.pop("content-length", None)
130
129
  response.init_headers(new_headers)
131
130
 
@@ -158,18 +157,18 @@ def setup_trace_id_handler(app):
158
157
  delete_keys={'content-length', 'accept', 'content-type'}
159
158
  )
160
159
 
161
- # 强制加入 x-traceId-header
162
- merged_headers["x-traceId-header"] = trace_id
160
+ # 强制加入 x-traceid-header
161
+ merged_headers["x-traceid-header"] = trace_id
163
162
  merged_headers.update(cors_headers)
164
163
 
165
164
  # 更新暴露头
166
165
  expose_headers = merged_headers.get(
167
166
  "access-control-expose-headers", "")
168
167
  if expose_headers:
169
- if "x-traceId-header" not in expose_headers.lower():
170
- merged_headers["access-control-expose-headers"] = f"{expose_headers}, x-traceId-header"
168
+ if "x-traceid-header" not in expose_headers.lower():
169
+ merged_headers["access-control-expose-headers"] = f"{expose_headers}, x-traceid-header"
171
170
  else:
172
- merged_headers["access-control-expose-headers"] = "x-traceId-header"
171
+ merged_headers["access-control-expose-headers"] = "x-traceid-header"
173
172
 
174
173
  # 应用 Headers
175
174
  if hasattr(response.headers, 'clear'):
@@ -212,7 +211,7 @@ def setup_trace_id_handler(app):
212
211
  media_type=response.media_type
213
212
  )
214
213
  response.headers["content-length"] = str(len(new_body))
215
- response.headers["x-traceId-header"] = trace_id
214
+ response.headers["x-traceid-header"] = trace_id
216
215
  # 恢复 CORS
217
216
  for k, v in cors_headers.items():
218
217
  response.headers[k] = v
@@ -226,7 +225,7 @@ def setup_trace_id_handler(app):
226
225
  )
227
226
  response.headers["content-length"] = str(
228
227
  len(response_body))
229
- response.headers["x-traceId-header"] = trace_id
228
+ response.headers["x-traceid-header"] = trace_id
230
229
  for k, v in cors_headers.items():
231
230
  response.headers[k] = v
232
231
  else:
@@ -239,7 +238,7 @@ def setup_trace_id_handler(app):
239
238
  )
240
239
  response.headers["content-length"] = str(
241
240
  len(response_body))
242
- response.headers["x-traceId-header"] = trace_id
241
+ response.headers["x-traceid-header"] = trace_id
243
242
  for k, v in cors_headers.items():
244
243
  response.headers[k] = v
245
244
  except StopAsyncIteration:
@@ -255,11 +254,11 @@ def setup_trace_id_handler(app):
255
254
 
256
255
  # 兜底:确保 Header 必有 TraceId
257
256
  try:
258
- response.headers["x-traceId-header"] = trace_id
257
+ response.headers["x-traceid-header"] = trace_id
259
258
  except AttributeError:
260
259
  new_headers = dict(response.headers) if hasattr(
261
260
  response.headers, 'items') else {}
262
- new_headers["x-traceId-header"] = trace_id
261
+ new_headers["x-traceid-header"] = trace_id
263
262
  if hasattr(response, "init_headers"):
264
263
  response.init_headers(new_headers)
265
264
 
@@ -13,22 +13,23 @@ def sy_sentry_init():
13
13
  sentry_configs = config.get('SentryConfig', [])
14
14
  target_config = next(
15
15
  (item for item in sentry_configs if item.get('name') == server_name), None)
16
- target_dsn = target_config.get('dsn')
17
- target_enable = target_config.get('enable')
18
- current_version = datetime.now().strftime("%Y-%m-%d %H:%M:%S-version")
19
- if target_config and target_dsn and target_enable:
20
- try:
21
- sentry_sdk.init(
22
- dsn=target_dsn,
23
- traces_sample_rate=1.0,
24
- server_name=server_name,
25
- environment=environment,
26
- release=current_version,
27
- integrations=[
28
- FastApiIntegration(),
29
- # LoggingIntegration(level=logging.INFO,
30
- # event_level=logging.ERROR)
31
- ],
32
- )
33
- except Exception as e:
34
- SYLogger.error(f"Sentry初始化失败: {str(e)}")
16
+ if target_config:
17
+ target_dsn = target_config.get('dsn')
18
+ target_enable = target_config.get('enable')
19
+ current_version = datetime.now().strftime("%Y-%m-%d %H:%M:%S-version")
20
+ if target_config and target_dsn and target_enable:
21
+ try:
22
+ sentry_sdk.init(
23
+ dsn=target_dsn,
24
+ traces_sample_rate=1.0,
25
+ server_name=server_name,
26
+ environment=environment,
27
+ release=current_version,
28
+ integrations=[
29
+ FastApiIntegration(),
30
+ # LoggingIntegration(level=logging.INFO,
31
+ # event_level=logging.ERROR)
32
+ ],
33
+ )
34
+ except Exception as e:
35
+ SYLogger.error(f"Sentry初始化失败: {str(e)}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.1.56b8
3
+ Version: 0.1.56b10
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -37,7 +37,7 @@ sycommon/middleware/middleware.py,sha256=SzZ4wufSNdwC4Ppw99TE7a6AVGkrZRc55NHSrA3
37
37
  sycommon/middleware/monitor_memory.py,sha256=pYRK-wRuDd6enSg9Pf8tQxPdYQS6S0AyjyXeKFRLKEs,628
38
38
  sycommon/middleware/mq.py,sha256=4wBqiT5wJGcrfjk2GSr0_U3TStBxoNpHTzcRxVlMEHE,183
39
39
  sycommon/middleware/timeout.py,sha256=RLMzGMrzK14zsf8x-hmUW1DXWezETB0ZY8mpr9EKsos,740
40
- sycommon/middleware/traceid.py,sha256=SmA9qsqMQeuGGog9xDHzXgJFhm8UxCkXEkxalaAt4hg,13121
40
+ sycommon/middleware/traceid.py,sha256=rJ6yLkYJi-x_Vq41xzkfAAc4xDts2IpPmDcKN8hYuv8,13065
41
41
  sycommon/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
42
  sycommon/models/base_http.py,sha256=EICAAibx3xhjBsLqm35Mi3DCqxp0FME4rD_3iQVjT_E,3051
43
43
  sycommon/models/log.py,sha256=rZpj6VkDRxK3B6H7XSeWdYZshU8F0Sks8bq1p6pPlDw,500
@@ -56,7 +56,7 @@ sycommon/rabbitmq/rabbitmq_service_consumer_manager.py,sha256=qvq6dB30DkJrpk2OQ7
56
56
  sycommon/rabbitmq/rabbitmq_service_core.py,sha256=_9gqc7BOhrzfeYS557yIOfyCAraAKh-3ClMpKHn9ufY,4753
57
57
  sycommon/rabbitmq/rabbitmq_service_producer_manager.py,sha256=FKljvWhxuVq3QwBf-Ny7n5JvO3zyJ2B4K1SGb6fG2e0,9960
58
58
  sycommon/sentry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- sycommon/sentry/sy_sentry.py,sha256=S2Np_6WmWkI9X76Q67RWZthhCz02tKCfvdhKI57587w,1373
59
+ sycommon/sentry/sy_sentry.py,sha256=e5Fbt9Gi2gIb048z0nuKbuhp3uCAEqYH2xXbF6qrZq4,1471
60
60
  sycommon/sse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
61
  sycommon/sse/event.py,sha256=k_rBJy23R7crtzQeetT0Q73D8o5-5p-eESGSs_BPOj0,2797
62
62
  sycommon/sse/sse.py,sha256=__CfWEcYxOxQ-HpLor4LTZ5hLWqw9-2X7CngqbVHsfw,10128
@@ -77,8 +77,8 @@ sycommon/tools/docs.py,sha256=OPj2ETheuWjXLyaXtaZPbwmJKfJaYXV5s4XMVAUNrms,1607
77
77
  sycommon/tools/merge_headers.py,sha256=HV_i52Q-9se3SP8qh7ZGYl8bP7Fxtal4CGVkyMwEdM8,4373
78
78
  sycommon/tools/snowflake.py,sha256=lVEe5mNCOgz5OqGQpf5_nXaGnRJlI2STX2s-ppTtanA,11947
79
79
  sycommon/tools/timing.py,sha256=OiiE7P07lRoMzX9kzb8sZU9cDb0zNnqIlY5pWqHcnkY,2064
80
- sycommon_python_lib-0.1.56b8.dist-info/METADATA,sha256=orC9Ba1jsx2gISka8fQbouH2xI2fc86ZlZm0bN-11MI,7269
81
- sycommon_python_lib-0.1.56b8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
82
- sycommon_python_lib-0.1.56b8.dist-info/entry_points.txt,sha256=q_h2nbvhhmdnsOUZEIwpuoDjaNfBF9XqppDEmQn9d_A,46
83
- sycommon_python_lib-0.1.56b8.dist-info/top_level.txt,sha256=98CJ-cyM2WIKxLz-Pf0AitWLhJyrfXvyY8slwjTXNuc,17
84
- sycommon_python_lib-0.1.56b8.dist-info/RECORD,,
80
+ sycommon_python_lib-0.1.56b10.dist-info/METADATA,sha256=vyV4lLpTKgbiPgOIBOgZFnACgzvrJk5s2Ghja70yztY,7270
81
+ sycommon_python_lib-0.1.56b10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
82
+ sycommon_python_lib-0.1.56b10.dist-info/entry_points.txt,sha256=q_h2nbvhhmdnsOUZEIwpuoDjaNfBF9XqppDEmQn9d_A,46
83
+ sycommon_python_lib-0.1.56b10.dist-info/top_level.txt,sha256=98CJ-cyM2WIKxLz-Pf0AitWLhJyrfXvyY8slwjTXNuc,17
84
+ sycommon_python_lib-0.1.56b10.dist-info/RECORD,,