mirror of
				https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
				synced 2025-11-04 08:13:43 +08:00 
			
		
		
		
	fix: anthropic client using common getHeaders
This commit is contained in:
		@@ -162,14 +162,17 @@ export function getHeaders() {
 | 
			
		||||
  const modelConfig = useChatStore.getState().currentSession().mask.modelConfig;
 | 
			
		||||
  const isGoogle = modelConfig.model.startsWith("gemini");
 | 
			
		||||
  const isAzure = accessStore.provider === ServiceProvider.Azure;
 | 
			
		||||
  const authHeader = isAzure ? "api-key" : "Authorization";
 | 
			
		||||
  const isAnthropic = accessStore.provider === ServiceProvider.Anthropic;
 | 
			
		||||
  const authHeader = isAzure ? "api-key" : isAnthropic ? 'x-api-key' : "Authorization";
 | 
			
		||||
  const apiKey = isGoogle
 | 
			
		||||
    ? accessStore.googleApiKey
 | 
			
		||||
    : isAzure
 | 
			
		||||
    ? accessStore.azureApiKey
 | 
			
		||||
    : isAnthropic
 | 
			
		||||
    ? accessStore.anthropicApiKey
 | 
			
		||||
    : accessStore.openaiApiKey;
 | 
			
		||||
  const clientConfig = getClientConfig();
 | 
			
		||||
  const makeBearer = (s: string) => `${isAzure ? "" : "Bearer "}${s.trim()}`;
 | 
			
		||||
  const makeBearer = (s: string) => `${isAzure || isAnthropic ? "" : "Bearer "}${s.trim()}`;
 | 
			
		||||
  const validString = (x: string) => x && x.length > 0;
 | 
			
		||||
 | 
			
		||||
  // when using google api in app, not set auth header
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
import { ACCESS_CODE_PREFIX, Anthropic, ApiPath } from "@/app/constant";
 | 
			
		||||
import { ChatOptions, LLMApi, MultimodalContent } from "../api";
 | 
			
		||||
import { ChatOptions, getHeaders, LLMApi, MultimodalContent,  } from "../api";
 | 
			
		||||
import { useAccessStore, useAppConfig, useChatStore } from "@/app/store";
 | 
			
		||||
import { getClientConfig } from "@/app/config/client";
 | 
			
		||||
import { DEFAULT_API_HOST } from "@/app/constant";
 | 
			
		||||
@@ -190,9 +190,7 @@ export class ClaudeApi implements LLMApi {
 | 
			
		||||
      body: JSON.stringify(requestBody),
 | 
			
		||||
      signal: controller.signal,
 | 
			
		||||
      headers: {
 | 
			
		||||
        "Content-Type": "application/json",
 | 
			
		||||
        Accept: "application/json",
 | 
			
		||||
        "x-api-key": accessStore.anthropicApiKey,
 | 
			
		||||
        ...getHeaders(),  // get common headers
 | 
			
		||||
        "anthropic-version": accessStore.anthropicApiVersion,
 | 
			
		||||
        Authorization: getAuthKey(accessStore.anthropicApiKey),
 | 
			
		||||
      },
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user