岩月と申します。
この度MLに参加させていただきます。WEBrickにはいつもお世話になっておりま
す。よろしくお願いします。
さて、いきなり質問で恐縮ですが、
require 'webrick'
a = WEBrick::HTTPUtils::FormData.new('A')
b = WEBrick::HTTPUtils::FormData.new('B')
c = WEBrick::HTTPUtils::FormData.new('C')
a.append_data(b)
a.append_data(c)
p(a.list) # => ["A", "B", "C"]
p(a.list) # => ["A"]
上記スクリプトのこの結果は意図通りでしょうか? ちょっと使いづらいと思いま
して手元では以下のように修正しましたが、もし何らかの目的があってのことで
あればまずいと思い質問させていただきます。
Index: httputils.rb
===================================================================
RCS file: /home/ipr/ncvs/webrick/lib/webrick/httputils.rb,v
retrieving revision 1.35
diff -u -p -r1.35 httputils.rb
--- httputils.rb 23 Jul 2003 06:19:08 -0000 1.35
+++ httputils.rb 7 Aug 2003 08:32:56 -0000
@@ -261,8 +261,7 @@ module WEBrick
def list
ret = []
each_data{|data|
- data.next_data = nil
- ret << data
+ ret << data.to_s
}
ret
end
以下は余談です。もともとは咳さんのTofuとWEBrickを一緒に使おうとして、
TofuをWEBrick 1.3.1に対応させていたところで上記の問題に当たりました。
TofuのWEBrick::Tofulet#req_paramsでクエリを参照しますが、呼び出される度
にreq.queryを一通り舐めて行くため、Tofulet#req_paramsを複数回呼び出すこ
とで上記問題を再現できます。Tofu自体初めて使うものですので間違った使い方
をしている気もしますが、出来れば確かめておきたいと思っております。
以上、よろしくお願いいたします。
--
岩月博之 <don@na.rim.or.jp>