成瀬です。
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 <naruse / airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA