@@ -662,41 +662,6 @@ func buildStaticInventoryFromTools(cfg *ServerConfig, tools []inventory.ServerTo
662662 return inv .AvailableTools (ctx ), inv .AvailableResourceTemplates (ctx ), inv .AvailablePrompts (ctx )
663663}
664664
665- func TestSetCorsHeaders (t * testing.T ) {
666- inner := http .HandlerFunc (func (w http.ResponseWriter , _ * http.Request ) {
667- w .WriteHeader (http .StatusOK )
668- })
669- handler := SetCorsHeaders (inner )
670-
671- t .Run ("OPTIONS preflight returns 200 with CORS headers" , func (t * testing.T ) {
672- req := httptest .NewRequest (http .MethodOptions , "/" , nil )
673- req .Header .Set ("Origin" , "http://localhost:6274" )
674- rr := httptest .NewRecorder ()
675- handler .ServeHTTP (rr , req )
676-
677- assert .Equal (t , http .StatusOK , rr .Code )
678- assert .Equal (t , "*" , rr .Header ().Get ("Access-Control-Allow-Origin" ))
679- assert .Contains (t , rr .Header ().Get ("Access-Control-Allow-Methods" ), "POST" )
680- assert .Contains (t , rr .Header ().Get ("Access-Control-Allow-Headers" ), "Authorization" )
681- assert .Contains (t , rr .Header ().Get ("Access-Control-Allow-Headers" ), "Content-Type" )
682- assert .Contains (t , rr .Header ().Get ("Access-Control-Allow-Headers" ), "Mcp-Session-Id" )
683- assert .Contains (t , rr .Header ().Get ("Access-Control-Allow-Headers" ), "X-MCP-Lockdown" )
684- assert .Contains (t , rr .Header ().Get ("Access-Control-Allow-Headers" ), "X-MCP-Insiders" )
685- assert .Contains (t , rr .Header ().Get ("Access-Control-Expose-Headers" ), "Mcp-Session-Id" )
686- assert .Contains (t , rr .Header ().Get ("Access-Control-Expose-Headers" ), "WWW-Authenticate" )
687- })
688-
689- t .Run ("POST request includes CORS headers" , func (t * testing.T ) {
690- req := httptest .NewRequest (http .MethodPost , "/" , nil )
691- req .Header .Set ("Origin" , "http://localhost:6274" )
692- rr := httptest .NewRecorder ()
693- handler .ServeHTTP (rr , req )
694-
695- assert .Equal (t , http .StatusOK , rr .Code )
696- assert .Equal (t , "*" , rr .Header ().Get ("Access-Control-Allow-Origin" ))
697- })
698- }
699-
700665func TestCrossOriginProtection (t * testing.T ) {
701666 jsonRPCBody := `{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}`
702667
0 commit comments