modify: json 解析优化
This commit is contained in:
@@ -142,8 +142,7 @@ async def create_worker(
|
|||||||
if not matched and methods:
|
if not matched and methods:
|
||||||
matched = methods[0] # 降级到第一个
|
matched = methods[0] # 降级到第一个
|
||||||
if not matched:
|
if not matched:
|
||||||
query.reply(
|
query.reply_err(
|
||||||
key_expr=query.key_expr,
|
|
||||||
payload=json.dumps({"error": f"No method for {subject}"}).encode("utf-8")
|
payload=json.dumps({"error": f"No method for {subject}"}).encode("utf-8")
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
@@ -169,7 +168,7 @@ async def create_worker(
|
|||||||
logger.debug("[Worker] %s 回复 %s %s", worker_id, matched.method, subject)
|
logger.debug("[Worker] %s 回复 %s %s", worker_id, matched.method, subject)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if matched is not None and matched.stream:
|
if matched is not None and matched.stream:
|
||||||
# 流式端点错误:以 {"error": ...} 收尾块结束流
|
# 流式端点错误:以 {"error": ...} 收尾块结束流(流式语义不变)
|
||||||
query.reply(
|
query.reply(
|
||||||
key_expr=query.key_expr,
|
key_expr=query.key_expr,
|
||||||
payload=orjson.dumps({"error": str(e)})
|
payload=orjson.dumps({"error": str(e)})
|
||||||
@@ -181,8 +180,9 @@ async def create_worker(
|
|||||||
"error": str(e),
|
"error": str(e),
|
||||||
"worker": worker_id
|
"worker": worker_id
|
||||||
}
|
}
|
||||||
query.reply(
|
# 框架错误走 reply_err 通道:网关零解析判定失败(映射 503);
|
||||||
key_expr=query.key_expr,
|
# 载荷保持原错误信封结构,旧网关仍按普通回复透传(兼容)
|
||||||
|
query.reply_err(
|
||||||
payload=json.dumps(error_response).encode("utf-8")
|
payload=json.dumps(error_response).encode("utf-8")
|
||||||
)
|
)
|
||||||
logger.error("[Worker] %s 异常 %s: %s", worker_id, subject, e)
|
logger.error("[Worker] %s 异常 %s: %s", worker_id, subject, e)
|
||||||
|
|||||||
Reference in New Issue
Block a user