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/