From: matz@... (Yukihiro Matsumoto) Date: 2003-07-24T01:12:08+09:00 Subject: [ruby-list:37964] Re: multipart/form-dataのためのcgi.rbの修正 まつもと ゆきひろです In message "[ruby-list:37962] Re: multipart/form-dataのためのcgi.rbの修正" on 03/07/23, 堀川 久 writes: |> nil -> "" -> wrap | |CGIをよく使う人です(CGIばかりともいう)。単に nil -> "" では不味いで |す。 そういう人からの意見が貴重です。私なんか結局は第三者ですから、 CGI的には。 |●application/x-www-form-urlencoded の場合、 | [コントロール名] -> 文字列 | [その他] -> "" | |想定される使い方は、 | if cgi["foo"] != "" | s = cgi["foo"] | ... | |●multipart/form-data の場合、 | [コントロール名] -> StringIO or Tempfile | [その他] -> ??? | |その他が "" だと、 | if defined?(cgi["bar"].read) # ここが嫌な感じです。 | len = cgi["bar"].length | body = cgi["bar"].read | ... | |StringIO.new("") を返すのが一番まともではないでしょうか。こういう使い |方になると思います。 | | if cgi["bar"].length > 0 | ... | |どうでしょうか。 確認ですけど、multipart/form-dataの時はstringio("")が欲しいっ てことですよね。パッチはそうなってますが。 tempfileのこともあるのでちょっと考える必要がありますが、基本 的な要望は理解しました。