mirror of
				https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
				synced 2025-11-04 08:13:43 +08:00 
			
		
		
		
	Merge pull request #3424 from H0llyW00dzZ/serverrside
Refactor Api Common [Server Side] [Console Log]
This commit is contained in:
		@@ -43,10 +43,6 @@ export async function requestOpenai(req: NextRequest) {
 | 
			
		||||
 | 
			
		||||
  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(
 | 
			
		||||
    () => {
 | 
			
		||||
@@ -116,18 +112,37 @@ export async function requestOpenai(req: NextRequest) {
 | 
			
		||||
  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
 | 
			
		||||
    // The browser will try to decode the response with brotli and fail
 | 
			
		||||
    newHeaders.delete("content-encoding");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    return new Response(res.body, {
 | 
			
		||||
      status: res.status,
 | 
			
		||||
      statusText: res.statusText,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user