mirror of
https://gitee.com/wanwujie/sub2api
synced 2026-04-03 06:52:13 +08:00
fix: address review - add missing whitespace patterns and narrow error matching
This commit is contained in:
@@ -32,6 +32,8 @@ var (
|
|||||||
// Fast-path patterns for empty text blocks: {"type":"text","text":""}
|
// Fast-path patterns for empty text blocks: {"type":"text","text":""}
|
||||||
patternEmptyText = []byte(`"text":""`)
|
patternEmptyText = []byte(`"text":""`)
|
||||||
patternEmptyTextSpaced = []byte(`"text": ""`)
|
patternEmptyTextSpaced = []byte(`"text": ""`)
|
||||||
|
patternEmptyTextSp1 = []byte(`"text" : ""`)
|
||||||
|
patternEmptyTextSp2 = []byte(`"text" :""`)
|
||||||
)
|
)
|
||||||
|
|
||||||
// SessionContext 粘性会话上下文,用于区分不同来源的请求。
|
// SessionContext 粘性会话上下文,用于区分不同来源的请求。
|
||||||
@@ -247,7 +249,9 @@ func FilterThinkingBlocksForRetry(body []byte) []byte {
|
|||||||
// Check for empty text blocks: {"type":"text","text":""}
|
// Check for empty text blocks: {"type":"text","text":""}
|
||||||
// These cause upstream 400: "text content blocks must be non-empty"
|
// These cause upstream 400: "text content blocks must be non-empty"
|
||||||
hasEmptyTextBlock := bytes.Contains(body, patternEmptyText) ||
|
hasEmptyTextBlock := bytes.Contains(body, patternEmptyText) ||
|
||||||
bytes.Contains(body, patternEmptyTextSpaced)
|
bytes.Contains(body, patternEmptyTextSpaced) ||
|
||||||
|
bytes.Contains(body, patternEmptyTextSp1) ||
|
||||||
|
bytes.Contains(body, patternEmptyTextSp2)
|
||||||
|
|
||||||
// Fast path: nothing to process
|
// Fast path: nothing to process
|
||||||
if !hasThinkingContent && !hasEmptyContent && !hasEmptyTextBlock {
|
if !hasThinkingContent && !hasEmptyContent && !hasEmptyTextBlock {
|
||||||
|
|||||||
@@ -6071,7 +6071,7 @@ func (s *GatewayService) isThinkingBlockSignatureError(respBody []byte) bool {
|
|||||||
// 例如: "all messages must have non-empty content"
|
// 例如: "all messages must have non-empty content"
|
||||||
// "messages: text content blocks must be non-empty"
|
// "messages: text content blocks must be non-empty"
|
||||||
if strings.Contains(msg, "non-empty content") || strings.Contains(msg, "empty content") ||
|
if strings.Contains(msg, "non-empty content") || strings.Contains(msg, "empty content") ||
|
||||||
strings.Contains(msg, "must be non-empty") {
|
strings.Contains(msg, "content blocks must be non-empty") {
|
||||||
logger.LegacyPrintf("service.gateway", "[SignatureCheck] Detected empty content error")
|
logger.LegacyPrintf("service.gateway", "[SignatureCheck] Detected empty content error")
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user