@@ -855,6 +855,21 @@ class StreamableHTTPTransportTest < ActiveSupport::TestCase
855855 assert_equal 200 , response [ 0 ]
856856 end
857857
858+ test "POST request with Accept: */* succeeds" do
859+ request = create_rack_request_without_accept (
860+ "POST" ,
861+ "/" ,
862+ {
863+ "CONTENT_TYPE" => "application/json" ,
864+ "HTTP_ACCEPT" => "*/*" ,
865+ } ,
866+ { jsonrpc : "2.0" , method : "initialize" , id : "123" } . to_json ,
867+ )
868+
869+ response = @transport . handle_request ( request )
870+ assert_equal 200 , response [ 0 ]
871+ end
872+
858873 test "GET request without Accept header returns 406" do
859874 init_request = create_rack_request (
860875 "POST" ,
@@ -928,6 +943,30 @@ class StreamableHTTPTransportTest < ActiveSupport::TestCase
928943 assert_equal "text/event-stream" , response [ 1 ] [ "Content-Type" ]
929944 end
930945
946+ test "GET request with Accept: */* succeeds" do
947+ init_request = create_rack_request (
948+ "POST" ,
949+ "/" ,
950+ { "CONTENT_TYPE" => "application/json" } ,
951+ { jsonrpc : "2.0" , method : "initialize" , id : "123" } . to_json ,
952+ )
953+ init_response = @transport . handle_request ( init_request )
954+ session_id = init_response [ 1 ] [ "Mcp-Session-Id" ]
955+
956+ request = create_rack_request_without_accept (
957+ "GET" ,
958+ "/" ,
959+ {
960+ "HTTP_MCP_SESSION_ID" => session_id ,
961+ "HTTP_ACCEPT" => "*/*" ,
962+ } ,
963+ )
964+
965+ response = @transport . handle_request ( request )
966+ assert_equal 200 , response [ 0 ]
967+ assert_equal "text/event-stream" , response [ 1 ] [ "Content-Type" ]
968+ end
969+
931970 test "stateless mode allows requests without session IDs, responding with no session ID" do
932971 stateless_transport = StreamableHTTPTransport . new ( @server , stateless : true )
933972
0 commit comments