@@ -62,52 +62,6 @@ func TestAnthropic_CreateInterceptor(t *testing.T) {
6262 assert .Contains (t , err .Error (), "unmarshal request body" )
6363 })
6464
65- t .Run ("Messages_ForwardsAnthropicBetaHeaderToUpstream" , func (t * testing.T ) {
66- t .Parallel ()
67-
68- var receivedHeaders http.Header
69-
70- // Mock upstream that captures headers.
71- mockUpstream := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
72- receivedHeaders = r .Header .Clone ()
73- w .Header ().Set ("Content-Type" , "application/json" )
74- w .WriteHeader (http .StatusOK )
75- _ , _ = w .Write ([]byte (`{"id":"msg-123","type":"message","role":"assistant","content":[{"type":"text","text":"Hello!"}],"model":"claude-opus-4-5","stop_reason":"end_turn","usage":{"input_tokens":10,"output_tokens":5}}` ))
76- }))
77- t .Cleanup (mockUpstream .Close )
78-
79- provider := NewAnthropic (config.Anthropic {
80- BaseURL : mockUpstream .URL ,
81- Key : "test-key" ,
82- }, nil )
83-
84- // Use a realistic multi-beta value as sent by Claude Code clients.
85- betaHeader := "claude-code-20250219,adaptive-thinking-2026-01-28,context-management-2025-06-27,prompt-caching-scope-2026-01-05,effort-2025-11-24"
86-
87- body := `{"model": "claude-opus-4-5", "max_tokens": 1024, "messages": [{"role": "user", "content": "hello"}], "stream": false}`
88- req := httptest .NewRequest (http .MethodPost , routeMessages , bytes .NewBufferString (body ))
89- req .Header .Set ("Anthropic-Beta" , betaHeader )
90- req .Header .Set ("X-Custom-Header" , "should-not-forward" )
91- w := httptest .NewRecorder ()
92-
93- interceptor , err := provider .CreateInterceptor (w , req , testTracer )
94- require .NoError (t , err )
95- require .NotNil (t , interceptor )
96-
97- logger := slog .Make ()
98- interceptor .Setup (logger , & testutil.MockRecorder {}, nil )
99-
100- processReq := httptest .NewRequest (http .MethodPost , routeMessages , nil )
101- err = interceptor .ProcessRequest (w , processReq )
102- require .NoError (t , err )
103-
104- // Verify the full Anthropic-Beta header (all betas) was forwarded unchanged.
105- assert .Equal (t , betaHeader , receivedHeaders .Get ("Anthropic-Beta" ))
106-
107- // Verify non-Anthropic headers are not forwarded.
108- assert .Empty (t , receivedHeaders .Get ("X-Custom-Header" ), "non-Anthropic headers should not be forwarded" )
109- })
110-
11165 t .Run ("UnknownRoute" , func (t * testing.T ) {
11266 t .Parallel ()
11367
0 commit comments