Skip to content

Commit 24d49ce

Browse files
committed
update
1 parent ccbb5a6 commit 24d49ce

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

backend/internal/adapters/anthropic_adapter.go

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,24 @@ func NewAnthropicAdapter(cfg *config.Config, db *gorm.DB, cacheClient cache.Cach
3131

3232
// ProcessRequest handles the request for the Anthropic API.
3333
func (a *AnthropicAdapter) ProcessRequest() (*services.TargetRequest, error) {
34-
// 1. Authenticate the proxy request (hijack the 'x-api-key' header).
34+
// Log all incoming headers for debugging
35+
for name, values := range a.c.Request.Header {
36+
for _, value := range values {
37+
logger.Infof("Incoming Header: %s: %s", name, value)
38+
}
39+
}
40+
41+
// 1. Authenticate the proxy request. Try 'x-api-key', 'x-anthropic-api-key', then 'Authorization' header.
3542
proxyKey := a.c.GetHeader("x-api-key")
43+
if proxyKey == "" {
44+
proxyKey = a.c.GetHeader("x-anthropic-api-key")
45+
}
46+
if proxyKey == "" {
47+
authHeader := a.c.GetHeader("Authorization")
48+
if strings.HasPrefix(authHeader, "Bearer ") {
49+
proxyKey = strings.TrimPrefix(authHeader, "Bearer ")
50+
}
51+
}
3652

3753
validKeys := a.cfg.GetGlobalProxyKeys()
3854
isValidKey := false
@@ -53,7 +69,7 @@ func (a *AnthropicAdapter) ProcessRequest() (*services.TargetRequest, error) {
5369
}
5470

5571
// 3. Build the target request.
56-
headers := utils.FilterRequestHeaders(a.c.Request.Header, []string{"x-api-key"})
72+
headers := utils.FilterRequestHeaders(a.c.Request.Header, []string{"x-api-key", "Authorization", "x-anthropic-api-key"})
5773

5874
// 优先使用数据库中为该proxyConfig保存的APIKeyName, 否则回退到默认值
5975
keyName := "x-api-key"
@@ -108,4 +124,4 @@ func (a *AnthropicAdapter) ProcessRequest() (*services.TargetRequest, error) {
108124
Params: params,
109125
Body: body,
110126
}, nil
111-
}
127+
}

0 commit comments

Comments
 (0)