mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-22 16:43:35 +00:00
style: fix prettier formatting
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -419,7 +419,7 @@ async function handleMessagesRequest(req, res) {
|
|||||||
// 🧹 内存优化:提取需要的值,避免闭包捕获整个 req 对象
|
// 🧹 内存优化:提取需要的值,避免闭包捕获整个 req 对象
|
||||||
const _apiKeyId = req.apiKey.id
|
const _apiKeyId = req.apiKey.id
|
||||||
const _rateLimitInfo = req.rateLimitInfo
|
const _rateLimitInfo = req.rateLimitInfo
|
||||||
const _requestBody = req.body // 传递后清除引用
|
const _requestBody = req.body // 传递后清除引用
|
||||||
const _apiKey = req.apiKey
|
const _apiKey = req.apiKey
|
||||||
const _headers = req.headers
|
const _headers = req.headers
|
||||||
|
|
||||||
@@ -630,7 +630,15 @@ async function handleMessagesRequest(req, res) {
|
|||||||
const outputTokens = result.usage.output_tokens || 0
|
const outputTokens = result.usage.output_tokens || 0
|
||||||
|
|
||||||
apiKeyService
|
apiKeyService
|
||||||
.recordUsage(_apiKeyIdBedrock, inputTokens, outputTokens, 0, 0, result.model, accountId)
|
.recordUsage(
|
||||||
|
_apiKeyIdBedrock,
|
||||||
|
inputTokens,
|
||||||
|
outputTokens,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
result.model,
|
||||||
|
accountId
|
||||||
|
)
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
logger.error('❌ Failed to record Bedrock stream usage:', error)
|
logger.error('❌ Failed to record Bedrock stream usage:', error)
|
||||||
})
|
})
|
||||||
@@ -972,7 +980,7 @@ async function handleMessagesRequest(req, res) {
|
|||||||
response = await claudeRelayService.relayRequest(
|
response = await claudeRelayService.relayRequest(
|
||||||
_requestBodyNonStream,
|
_requestBodyNonStream,
|
||||||
_apiKeyNonStream,
|
_apiKeyNonStream,
|
||||||
req, // clientRequest 用于断开检测,保留但服务层已优化
|
req, // clientRequest 用于断开检测,保留但服务层已优化
|
||||||
res,
|
res,
|
||||||
_headersNonStream
|
_headersNonStream
|
||||||
)
|
)
|
||||||
@@ -984,7 +992,7 @@ async function handleMessagesRequest(req, res) {
|
|||||||
response = await claudeConsoleRelayService.relayRequest(
|
response = await claudeConsoleRelayService.relayRequest(
|
||||||
_requestBodyNonStream,
|
_requestBodyNonStream,
|
||||||
_apiKeyNonStream,
|
_apiKeyNonStream,
|
||||||
req, // clientRequest 保留用于断开检测
|
req, // clientRequest 保留用于断开检测
|
||||||
res,
|
res,
|
||||||
_headersNonStream,
|
_headersNonStream,
|
||||||
accountId
|
accountId
|
||||||
@@ -1032,7 +1040,7 @@ async function handleMessagesRequest(req, res) {
|
|||||||
response = await ccrRelayService.relayRequest(
|
response = await ccrRelayService.relayRequest(
|
||||||
_requestBodyNonStream,
|
_requestBodyNonStream,
|
||||||
_apiKeyNonStream,
|
_apiKeyNonStream,
|
||||||
req, // clientRequest 保留用于断开检测
|
req, // clientRequest 保留用于断开检测
|
||||||
res,
|
res,
|
||||||
_headersNonStream,
|
_headersNonStream,
|
||||||
accountId
|
accountId
|
||||||
|
|||||||
@@ -382,7 +382,7 @@ class ClaudeRelayService {
|
|||||||
let queueLockAcquired = false
|
let queueLockAcquired = false
|
||||||
let queueRequestId = null
|
let queueRequestId = null
|
||||||
let selectedAccountId = null
|
let selectedAccountId = null
|
||||||
let bodyStoreIdNonStream = null // 🧹 在 try 块外声明,以便 finally 清理
|
let bodyStoreIdNonStream = null // 🧹 在 try 块外声明,以便 finally 清理
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 调试日志:查看API Key数据
|
// 调试日志:查看API Key数据
|
||||||
@@ -1968,7 +1968,10 @@ class ClaudeRelayService {
|
|||||||
try {
|
try {
|
||||||
// 递归调用自身进行重试
|
// 递归调用自身进行重试
|
||||||
// 🧹 从 bodyStore 获取字符串用于重试
|
// 🧹 从 bodyStore 获取字符串用于重试
|
||||||
if (!requestOptions.bodyStoreId || !this.bodyStore.has(requestOptions.bodyStoreId)) {
|
if (
|
||||||
|
!requestOptions.bodyStoreId ||
|
||||||
|
!this.bodyStore.has(requestOptions.bodyStoreId)
|
||||||
|
) {
|
||||||
throw new Error('529 retry requires valid bodyStoreId')
|
throw new Error('529 retry requires valid bodyStoreId')
|
||||||
}
|
}
|
||||||
let retryBody
|
let retryBody
|
||||||
@@ -2082,7 +2085,8 @@ class ClaudeRelayService {
|
|||||||
if (
|
if (
|
||||||
this._isClaudeCodeCredentialError(errorData) &&
|
this._isClaudeCodeCredentialError(errorData) &&
|
||||||
requestOptions.useRandomizedToolNames !== true &&
|
requestOptions.useRandomizedToolNames !== true &&
|
||||||
requestOptions.bodyStoreId && this.bodyStore.has(requestOptions.bodyStoreId)
|
requestOptions.bodyStoreId &&
|
||||||
|
this.bodyStore.has(requestOptions.bodyStoreId)
|
||||||
) {
|
) {
|
||||||
let retryBody
|
let retryBody
|
||||||
try {
|
try {
|
||||||
@@ -2517,11 +2521,7 @@ class ClaudeRelayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 只有真实的 Claude Code 请求才更新 headers(流式请求)
|
// 只有真实的 Claude Code 请求才更新 headers(流式请求)
|
||||||
if (
|
if (clientHeaders && Object.keys(clientHeaders).length > 0 && isRealClaudeCodeRequest) {
|
||||||
clientHeaders &&
|
|
||||||
Object.keys(clientHeaders).length > 0 &&
|
|
||||||
isRealClaudeCodeRequest
|
|
||||||
) {
|
|
||||||
await claudeCodeHeadersService.storeAccountHeaders(accountId, clientHeaders)
|
await claudeCodeHeadersService.storeAccountHeaders(accountId, clientHeaders)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user