Merge pull request #631 from sususu98/dev

fix: 请求`/v1/messages/count_tokens` 的CanceledError 不再被记录为ERROR 日志
This commit is contained in:
Wesley Liddick
2025-11-06 20:16:52 +08:00
committed by GitHub
2 changed files with 18 additions and 1 deletions

View File

@@ -1085,6 +1085,18 @@ router.post('/v1/messages/count_tokens', authenticateApiKey, async (req, res) =>
return res.status(error.httpStatus).json(error.errorPayload)
}
// 客户端断开连接不是错误,使用 INFO 级别
if (error.message === 'Client disconnected') {
logger.info('🔌 Client disconnected during token count request')
if (!res.headersSent) {
return res.status(499).end() // 499 Client Closed Request
}
if (!res.destroyed && !res.finished) {
res.end()
}
return
}
logger.error('❌ Token count error:', error)
if (!res.headersSent) {
return res.status(500).json({

View File

@@ -317,7 +317,12 @@ class ClaudeConsoleRelayService {
}
} catch (error) {
// 处理特定错误
if (error.name === 'AbortError' || error.code === 'ECONNABORTED') {
if (
error.name === 'AbortError' ||
error.name === 'CanceledError' ||
error.code === 'ECONNABORTED' ||
error.code === 'ERR_CANCELED'
) {
logger.info('Request aborted due to client disconnect')
throw new Error('Client disconnected')
}