Enhance chat handling.
This commit is contained in:
@@ -63,13 +63,13 @@ function extractUsageFromResponse(responseBody, provider) {
|
||||
* @param {function} options.onDisconnect - Callback when client disconnects
|
||||
* @param {string} options.connectionId - Connection ID for usage tracking
|
||||
*/
|
||||
export async function handleChatCore({ body, modelInfo, credentials, log, onCredentialsRefreshed, onRequestSuccess, onDisconnect, clientRawRequest, connectionId }) {
|
||||
export async function handleChatCore({ body, modelInfo, credentials, log, onCredentialsRefreshed, onRequestSuccess, onDisconnect, clientRawRequest, connectionId, userAgent }) {
|
||||
const { provider, model } = modelInfo;
|
||||
|
||||
const sourceFormat = detectFormat(body);
|
||||
|
||||
// Check for bypass patterns (warmup, skip) - return fake response
|
||||
const bypassResponse = handleBypassRequest(body, model);
|
||||
const bypassResponse = handleBypassRequest(body, model, userAgent);
|
||||
if (bypassResponse) {
|
||||
return bypassResponse;
|
||||
}
|
||||
@@ -173,17 +173,6 @@ export async function handleChatCore({ body, modelInfo, credentials, log, onCred
|
||||
return createErrorResult(502, errMsg);
|
||||
}
|
||||
|
||||
// Log headers (mask sensitive values)
|
||||
const safeHeaders = {};
|
||||
for (const [key, value] of Object.entries(providerHeaders || {})) {
|
||||
if (key.toLowerCase().includes("auth") || key.toLowerCase().includes("key") || key.toLowerCase().includes("token")) {
|
||||
safeHeaders[key] = value ? `${value.slice(0, 10)}...` : "";
|
||||
} else {
|
||||
safeHeaders[key] = value;
|
||||
}
|
||||
}
|
||||
log?.debug?.("HEADERS", JSON.stringify(safeHeaders));
|
||||
|
||||
// Handle 401/403 - try token refresh using executor
|
||||
if (providerResponse.status === 401 || providerResponse.status === 403) {
|
||||
const newCredentials = await refreshWithRetry(
|
||||
|
||||
Reference in New Issue
Block a user