From: "zzak (Zachary Scott)" Date: 2013-01-20T13:40:17+09:00 Subject: [ruby-core:51524] [ruby-trunk - Bug #4964] open-uri failed to handle multiple "Set-Cookie" headers Issue #4964 has been updated by zzak (Zachary Scott). This seems like feature, should move it to next minor or major? ---------------------------------------- Bug #4964: open-uri failed to handle multiple "Set-Cookie" headers https://bugs.ruby-lang.org/issues/4964#change-35491 Author: tdsparrow (ren li) Status: Assigned Priority: Normal Assignee: akr (Akira Tanaka) Category: lib Target version: 2.0.0 ruby -v: ruby 1.9.2p174 (2011-01-28 revision 30696) [i686-linux] =begin == Problem open-uri handle multiple "Set-Cookie" headers in a wrong way. Given a header from http server like: Set-Cookie: name1=value1; blabla Set-Cookie: name2=value2; blabla open-uri will pack it into meta info of result like: Set-Cookie: name1=value; blabla, name2=value2; blabla The problem is that line 332 of open-uri.rb resp.each {|name,value| buf.io.meta_add_field name, value } In turn will call invoke code in net/http.rb to join headers with ",". == ruby -v: ruby 1.9.2p174 (2011-01-28 revision 30696) [i686-linux] == code: require 'open-uri' begin open "http://douban.fm", :redirect => false rescue OpenURI::HTTPRedirect => redirect redirect.io.meta['set-cookie'] end =end -- http://bugs.ruby-lang.org/