MCPcopy Create free account
hub / github.com/coder/aibridge / TestBuildUpstreamHeaders

Function TestBuildUpstreamHeaders

intercept/client_headers_test.go:104–221  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

102}
103
104func TestBuildUpstreamHeaders(t *testing.T) {
105 t.Parallel()
106
107 t.Run("preserves auth from SDK", func(t *testing.T) {
108 t.Parallel()
109
110 sdkHeader := http.Header{
111 "Authorization": {"Bearer sk-provider-key"},
112 }
113 clientHeaders := http.Header{
114 "Authorization": {"Bearer coder-session-token"},
115 "User-Agent": {"claude-code/1.0"},
116 }
117
118 result := intercept.BuildUpstreamHeaders(sdkHeader, clientHeaders, "Authorization")
119
120 assert.Equal(t, "Bearer sk-provider-key", result.Get("Authorization"))
121 assert.Equal(t, "claude-code/1.0", result.Get("User-Agent"))
122 })
123
124 t.Run("preserves X-Api-Key from SDK and strips client Authorization", func(t *testing.T) {
125 t.Parallel()
126
127 sdkHeader := http.Header{
128 "X-Api-Key": {"sk-ant-provider-key"},
129 }
130 clientHeaders := http.Header{
131 "X-Api-Key": {"sk-ant-client-key"},
132 "Authorization": {"Bearer coder-session-token"},
133 "Anthropic-Beta": {"prompt-caching-2024-07-31"},
134 }
135
136 result := intercept.BuildUpstreamHeaders(sdkHeader, clientHeaders, "X-Api-Key")
137
138 assert.Equal(t, "sk-ant-provider-key", result.Get("X-Api-Key"))
139 assert.Empty(t, result.Get("Authorization"))
140 assert.Equal(t, "prompt-caching-2024-07-31", result.Get("Anthropic-Beta"))
141 })
142
143 t.Run("preserves actor headers from SDK", func(t *testing.T) {
144 t.Parallel()
145
146 sdkHeader := http.Header{
147 "Authorization": {"Bearer sk-key"},
148 "X-Ai-Bridge-Actor-Id": {"user-123"},
149 "X-Ai-Bridge-Actor-Metadata-Name": {"alice"},
150 }
151 clientHeaders := http.Header{
152 "Authorization": {"Bearer coder-token"},
153 "User-Agent": {"claude-code/1.0"},
154 }
155
156 result := intercept.BuildUpstreamHeaders(sdkHeader, clientHeaders, "Authorization")
157
158 assert.Equal(t, "Bearer sk-key", result.Get("Authorization"))
159 assert.Equal(t, "user-123", result.Get("X-Ai-Bridge-Actor-Id"))
160 assert.Equal(t, "alice", result.Get("X-Ai-Bridge-Actor-Metadata-Name"))
161 assert.Equal(t, "claude-code/1.0", result.Get("User-Agent"))

Callers

nothing calls this directly

Calls 2

BuildUpstreamHeadersFunction · 0.92
GetMethod · 0.80

Tested by

no test coverage detected