如何在单个 Webrick 响应中设置多个 cookie?

How do I set multiple cookies in a single Webrick response?

我使用 Webrick 来测试我的 HTTP 客户端,我需要测试它如何获取和设置 cookie。

维基百科 provides 此类响应的示例:

HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: theme=light
Set-Cookie: sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT
...

但如果我这样做

server.mount_proc ?/ do |req, res|
  res["set-cookie"] = %w{ 1=2 2=3 }

整个数组变成一个cookie:"[\"1=2\", \"2=3\"]"

然后在 WEBrick::HTTPResponse source code 中我再次看到 @header = Hash.new 这可能意味着你不能重复 header 键。

不可能吗?!

更新:

这让我没有希望:

应该使用另一种方法代替 res[...]=:

res.cookies.push WEBrick::Cookie.new("1", "2")
res.cookies.push WEBrick::Cookie.new("3", "4")
res.cookies.push WEBrick::Cookie.new("1", "5")