@@ -286,7 +286,10 @@ async def test_permission_inheritance_edge_cases(self):
286
286
],
287
287
"test-api-key-123" ,
288
288
None ,
289
- {"github" : "Bearer github-token" , "zapier_x_api" : "zapier-api-key" },
289
+ {
290
+ "github" : {"Authorization" : "Bearer github-token" },
291
+ "zapier_x_api" : {"key" : "zapier-api-key" },
292
+ },
290
293
),
291
294
# Test case 10: Both legacy and server-specific auth headers
292
295
(
@@ -297,7 +300,7 @@ async def test_permission_inheritance_edge_cases(self):
297
300
],
298
301
"test-api-key-123" ,
299
302
"legacy-token" ,
300
- {"github" : " Bearer github-token" },
303
+ {"github" : { "Authorization" : " Bearer github-token"} },
301
304
),
302
305
# Test case 11: Server-specific auth headers with different header types
303
306
(
@@ -308,7 +311,10 @@ async def test_permission_inheritance_edge_cases(self):
308
311
],
309
312
"test-api-key-123" ,
310
313
None ,
311
- {"deepwiki" : "Basic base64-encoded" , "custom_x_custom" : "custom-value" },
314
+ {
315
+ "deepwiki" : {"Authorization" : "Basic base64-encoded" },
316
+ "custom_x_custom" : {"header" : "custom-value" },
317
+ },
312
318
),
313
319
# Test case 12: Case insensitive server-specific headers
314
320
(
@@ -318,7 +324,7 @@ async def test_permission_inheritance_edge_cases(self):
318
324
],
319
325
"test-api-key-123" ,
320
326
None ,
321
- {"github" : " Bearer github-token" },
327
+ {"github" : { "Authorization" : " Bearer github-token"} },
322
328
),
323
329
],
324
330
)
@@ -365,6 +371,7 @@ async def mock_user_api_key_auth(api_key, request):
365
371
mcp_servers ,
366
372
mcp_server_auth_headers ,
367
373
oauth2_headers ,
374
+ raw_headers ,
368
375
) = await MCPRequestHandler .process_mcp_request (scope )
369
376
370
377
# Assert the results
@@ -751,7 +758,7 @@ def test_get_mcp_server_auth_headers_from_headers(self):
751
758
}
752
759
)
753
760
result = MCPRequestHandler ._get_mcp_server_auth_headers_from_headers (headers )
754
- assert result == {"github" : " Bearer github-token" }
761
+ assert result == {"github" : { "Authorization" : " Bearer github-token"} }
755
762
756
763
# Test case 3: Multiple server-specific headers
757
764
headers = Headers (
@@ -764,9 +771,9 @@ def test_get_mcp_server_auth_headers_from_headers(self):
764
771
)
765
772
result = MCPRequestHandler ._get_mcp_server_auth_headers_from_headers (headers )
766
773
expected = {
767
- "github" : " Bearer github-token" ,
768
- "zapier_x_api" : " zapier-api-key" ,
769
- "deepwiki" : " Basic base64-encoded" ,
774
+ "github" : { "Authorization" : " Bearer github-token"} ,
775
+ "zapier_x_api" : { "key" : " zapier-api-key"} ,
776
+ "deepwiki" : { "Authorization" : " Basic base64-encoded"} ,
770
777
}
771
778
assert result == expected
772
779
@@ -775,11 +782,14 @@ def test_get_mcp_server_auth_headers_from_headers(self):
775
782
{
776
783
"x-litellm-api-key" : "test-key" ,
777
784
"X-MCP-GITHUB-AUTHORIZATION" : "Bearer github-token" ,
778
- "x-mcp-ZAPIER_x_api -key" : "zapier-api-key" ,
785
+ "x-mcp-ZAPIER-x-api -key" : "zapier-api-key" ,
779
786
}
780
787
)
781
788
result = MCPRequestHandler ._get_mcp_server_auth_headers_from_headers (headers )
782
- expected = {"github" : "Bearer github-token" , "zapier_x_api" : "zapier-api-key" }
789
+ expected = {
790
+ "github" : {"Authorization" : "Bearer github-token" },
791
+ "zapier" : {"x-api-key" : "zapier-api-key" },
792
+ }
783
793
assert result == expected
784
794
785
795
# Test case 5: Invalid format headers (should be ignored)
@@ -792,7 +802,7 @@ def test_get_mcp_server_auth_headers_from_headers(self):
792
802
}
793
803
)
794
804
result = MCPRequestHandler ._get_mcp_server_auth_headers_from_headers (headers )
795
- assert result == {"github" : " Bearer github-token" }
805
+ assert result == {"github" : { "Authorization" : " Bearer github-token"} }
796
806
797
807
# Test case 6: Edge case - header with multiple hyphens in server alias
798
808
headers = Headers (
@@ -804,8 +814,8 @@ def test_get_mcp_server_auth_headers_from_headers(self):
804
814
)
805
815
result = MCPRequestHandler ._get_mcp_server_auth_headers_from_headers (headers )
806
816
expected = {
807
- "github_mcp" : " Bearer github-mcp-token" ,
808
- "gh_mcp2" : " Bearer gh-mcp2-token" ,
817
+ "github_mcp" : { "Authorization" : " Bearer github-mcp-token"} ,
818
+ "gh_mcp2" : { "Authorization" : " Bearer gh-mcp2-token"} ,
809
819
}
810
820
assert result == expected
811
821
@@ -817,22 +827,22 @@ def test_get_mcp_server_auth_headers_from_headers(self):
817
827
}
818
828
)
819
829
result = MCPRequestHandler ._get_mcp_server_auth_headers_from_headers (headers )
820
- assert result == {"github_mcp" : " Bearer github-mcp-token" }
830
+ assert result == {"github_mcp" : { "Authorization" : " Bearer github-mcp-token"} }
821
831
822
832
# Test case 8: Edge case - empty header value
823
833
headers = Headers (
824
834
{"x-litellm-api-key" : "test-key" , "x-mcp-github-authorization" : "" }
825
835
)
826
836
result = MCPRequestHandler ._get_mcp_server_auth_headers_from_headers (headers )
827
- assert result == {"github" : "" }
837
+ assert result == {"github" : { "Authorization" : "" } }
828
838
829
839
# Test case 9: Edge case - very long header value
830
840
long_token = "Bearer " + "x" * 1000
831
841
headers = Headers (
832
842
{"x-litellm-api-key" : "test-key" , "x-mcp-github-authorization" : long_token }
833
843
)
834
844
result = MCPRequestHandler ._get_mcp_server_auth_headers_from_headers (headers )
835
- assert result == {"github" : long_token }
845
+ assert result == {"github" : { "Authorization" : long_token } }
836
846
837
847
# Test case 10: Edge case - special characters in server alias
838
848
headers = Headers (
@@ -844,8 +854,8 @@ def test_get_mcp_server_auth_headers_from_headers(self):
844
854
)
845
855
result = MCPRequestHandler ._get_mcp_server_auth_headers_from_headers (headers )
846
856
expected = {
847
- "github- 123" : "Bearer github-123-token" ,
848
- "github_test" : " Bearer github-test-token" ,
857
+ "github" : { " 123-authorization " : "Bearer github-123-token" } ,
858
+ "github_test" : { "Authorization" : " Bearer github-test-token"} ,
849
859
}
850
860
assert result == expected
851
861
@@ -890,6 +900,7 @@ async def mock_user_api_key_auth(api_key, request):
890
900
mcp_servers ,
891
901
mcp_server_auth_headers ,
892
902
oauth2_headers ,
903
+ raw_headers ,
893
904
) = await MCPRequestHandler .process_mcp_request (scope )
894
905
895
906
# Assert the results
@@ -940,6 +951,7 @@ async def mock_user_api_key_auth(api_key, request):
940
951
mcp_servers ,
941
952
mcp_server_auth_headers ,
942
953
oauth2_headers ,
954
+ raw_headers ,
943
955
) = await MCPRequestHandler .process_mcp_request (scope )
944
956
945
957
# Assert the results
0 commit comments