From: "NARUSE, Yui" Date: 2006-11-24T11:33:22+09:00 Subject: [ruby-dev:29931] webrick and String#each 成瀬です。 1.9 にて webrick に String#each 削除の影響がでています。 raw に Array が来てしまったり、io に String が来てしまうケースが あること自体がそもそもの問題な気はしますけれど。 なお参考までに、Content-Disposition がある時に raw が Array になります。 Index: lib/webrick/httputils.rb =================================================================== RCS file: /src/ruby/lib/webrick/httputils.rb,v retrieving revision 1.14 diff -u -r1.14 httputils.rb --- lib/webrick/httputils.rb 2 Nov 2006 00:21:27 -0000 1.14 +++ lib/webrick/httputils.rb 23 Nov 2006 08:18:40 -0000 @@ -127,7 +127,7 @@ def parse_header(raw) header = Hash.new([].freeze) field = nil - raw.lines.each{|line| + (raw.class.method_defined?(:lines) ? raw.lines : raw).each{|line| case line when /^([A-Za-z0-9!\#$%&'*+\-.^_`|~]+):\s*(.*?)\s*\z/om field, value = $1, $2 @@ -317,7 +317,7 @@ form_data = Hash.new return form_data unless io data = nil - io.each{|line| + (io.class.method_defined?(:lines) ? io.lines : io).each{|line| if boundary_regexp =~ line if data data.chop! -- NARUSE, Yui DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA