Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Empty members in the Accept header cause a 500

未關閉 適合新手
#609 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

@koic 已經在處理了。

開始於 2026年10月15日。

  • #610 來自 @dominikklein —— 已關閉,未合併
  • #616 來自 @koic —— 未關閉

評估

難度
2/5
預估耗時
1-3 小時
新手友好度
82/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
ruby
領域
api

研究方向

問題出在 Streamable HTTP 傳輸中的 parse_accept_header,它呼叫 split(";").first.strip,對空的列表成員會得到 nil。執行 issue 中的重現步驟,查看 500 錯誤。當像 application/json,,text/event-stream 這樣的空成員被略過且請求成功,並附帶涵蓋該情況的測試時,即完成。

由索引模型根據 Issue 內容生成。

描述

bug

An Accept header with an empty list member makes the Streamable HTTP transport answer 500, even though both required media types are there:

server = MCP::Server.new(name: "repro", version: "1.0.0", tools: [], capabilities: { tools: {} })
transport = MCP::Server::Transports::StreamableHTTPTransport.new(server, stateless: true, enable_json_response: true)

env = Rack::MockRequest.env_for(
  "/mcp",
  method: "POST",
  input: '{"jsonrpc":"2.0","id":1,"method":"tools/list"}',
  "CONTENT_TYPE" => "application/json",
  "HTTP_ACCEPT" => "application/json,,text/event-stream",
)
transport.handle_request(Rack::Request.new(env))
# => [500, ..., ['{"jsonrpc":"2.0","id":null,"error":{"code":-32603,"message":"Internal server error"}}']]

The same happens with ", application/json, text/event-stream". parse_accept_header calls part.split(";").first.strip, and for an empty member split returns [], so first is nil.

HTTP allows these: "a recipient MUST parse and ignore a reasonable number of empty list elements" (RFC 9110, section 5.6.1.2). Skipping empty members in parse_accept_header would fix it; I'll send a PR.

Seen with 1.7.0; main at 9d12f51 has the same code.

主要語言
Ruby
星號
924
分支
136
平均合併
1 天 6 小時
30 天內合併 PR
38

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

modelcontextprotocol/ruby-sdk 的其他 Issue

查看 modelcontextprotocol/ruby-sdk 的全部 Issue

相似的 Issue

更多 Ruby Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。