From 1c20560beb05b1b1c84431eb9dd96d7d17266731 Mon Sep 17 00:00:00 2001 From: ccpro <92025731+CCpro10@users.noreply.github.com> Date: Wed, 3 Sep 2025 23:35:19 +0800 Subject: [PATCH] mcp: export jsonResponse field Exporting StreamableHTTPOptions.JSONResponse is helpful for some users behind proxies that don't work well with text/event-stream. For #211 Co-authored-by: ccpro10 --- mcp/streamable.go | 8 ++++---- mcp/streamable_test.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mcp/streamable.go b/mcp/streamable.go index f56eabd..f1a8ca1 100644 --- a/mcp/streamable.go +++ b/mcp/streamable.go @@ -72,8 +72,8 @@ type StreamableHTTPOptions struct { // TODO: support session retention (?) - // jsonResponse is forwarded to StreamableServerTransport.jsonResponse. - jsonResponse bool + // JSONResponse is forwarded to StreamableServerTransport.jsonResponse. + JSONResponse bool } // NewStreamableHTTPHandler returns a new [StreamableHTTPHandler]. @@ -233,7 +233,7 @@ func (h *StreamableHTTPHandler) ServeHTTP(w http.ResponseWriter, req *http.Reque transport = &StreamableServerTransport{ SessionID: sessionID, Stateless: h.opts.Stateless, - jsonResponse: h.opts.jsonResponse, + jsonResponse: h.opts.JSONResponse, } // To support stateless mode, we initialize the session with a default @@ -487,7 +487,7 @@ type stream struct { // jsonResponse records whether this stream should respond with application/json // instead of text/event-stream. // - // See [StreamableServerTransportOptions.jsonResponse]. + // See [StreamableServerTransportOptions.JSONResponse]. jsonResponse bool // signal is a 1-buffered channel, owned by an incoming HTTP request, that signals diff --git a/mcp/streamable_test.go b/mcp/streamable_test.go index 0cb7f95..49c2e87 100644 --- a/mcp/streamable_test.go +++ b/mcp/streamable_test.go @@ -84,7 +84,7 @@ func TestStreamableTransports(t *testing.T) { // Start an httptest.Server with the StreamableHTTPHandler, wrapped in a // cookie-checking middleware. handler := NewStreamableHTTPHandler(func(req *http.Request) *Server { return server }, &StreamableHTTPOptions{ - jsonResponse: useJSON, + JSONResponse: useJSON, }) var (