Merge remote-tracking branch 'upstream/main'

# Conflicts:
#	app/api/common.ts
This commit is contained in:
sijinhui
2024-03-28 16:07:23 +08:00
9 changed files with 72 additions and 22 deletions

View File

@@ -51,10 +51,6 @@ export async function requestOpenai(
// console.log("[Proxy] ", path);
// console.log("[Base Url]", baseUrl);
// // this fix [Org ID] undefined in server side if not using custom point
// if (serverConfig.openaiOrgId !== undefined) {
// console.log("[Org ID]", serverConfig.openaiOrgId);
// }
const timeoutId = setTimeout(
() => {
@@ -110,12 +106,29 @@ export async function requestOpenai(
try {
const res = await fetch(fetchUrl, fetchOptions);
// Extract the OpenAI-Organization header from the response
const openaiOrganizationHeader = res.headers.get("OpenAI-Organization");
// Check if serverConfig.openaiOrgId is defined and not an empty string
if (serverConfig.openaiOrgId && serverConfig.openaiOrgId.trim() !== "") {
// If openaiOrganizationHeader is present, log it; otherwise, log that the header is not present
console.log("[Org ID]", openaiOrganizationHeader);
} else {
console.log("[Org ID] is not set up.");
}
// to prevent browser prompt for credentials
const newHeaders = new Headers(res.headers);
newHeaders.delete("www-authenticate");
// to disable nginx buffering
newHeaders.set("X-Accel-Buffering", "no");
// Conditionally delete the OpenAI-Organization header from the response if [Org ID] is undefined or empty (not setup in ENV)
// Also, this is to prevent the header from being sent to the client
if (!serverConfig.openaiOrgId || serverConfig.openaiOrgId.trim() === "") {
newHeaders.delete("OpenAI-Organization");
}
// The latest version of the OpenAI API forced the content-encoding to be "br" in json response
// So if the streaming is disabled, we need to remove the content-encoding header
// Because Vercel uses gzip to compress the response, if we don't remove the content-encoding header