Feature #600: cgi.rbのマルチパートフォームの受信は1.8との互換性が低い
http://redmine.ruby-lang.org/issues/show/600

起票者: Takeyuki Fujioka
ステータス: Open, 優先度: Normal
担当者: Takeyuki Fujioka, カテゴリ: lib

see: [ruby-dev:36450]
MorphingBodyがインターフェースが1.8と大分変わっていて、
互換性がなくなっています。
現状は大分使いづらいです。
しかし、1.8のcgi.rbのマルチパートの受信データはすべて
StringIOかTempfileというのも使いづらいと思います。
そのため、マルチパートもファイル以外の項目は
String型にして、それにreadの特異メソッドをつけてあげるのが
いいのではないかと思っています。
cgi['title']      #=> #<StringIO:0x3f9fbc>
cgi['title'].read #=> "タイトル"
となっているのを
cgi['title']      #=> "タイトル"
cgi['title'].read #=> "タイトル"
とすると、ある程度互換性を保ちつつ、
使いやすいものになるのではないかと思っています。
ファイルの場合はこれまで通り、StringIOかTempfileがいいと思います。
ご意見をいただければと思います。


----------------------------------------
http://redmine.ruby-lang.org