Я использую Webrick для проверки своего HTTP-клиента, и мне нужно проверить, как он получает и устанавливает файлы cookie.
Википедия предоставляет пример такого ответа:
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\"]"
"[\"1=2\", \"2=3\"]"
А затем в WEBrick::HTTPResponse исходный код я снова увижу@header = Hash.new это, вероятно, означает, что вы не можете повторить клавишу заголовка.
WEBrick::HTTPResponse
@header = Hash.new
Разве это невозможно?!
UPD:
Это оставляет меня нетнадежда:
Вместо res[...]= следует использовать другой метод:
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")