青木です。

  In mail "[ruby-list:38009] net/http.rb Net::HTTPResponseのヘッダー"
    sakazuki <QZS01353 / nifty.ne.jp> wrote:

> こんにちは。sakazukiです。
> 
> 1.6.8のnet/httpのHTTPResponseの保持するヘッダーですが、同じキーのものが複数
> あるときに", "で文字列としてつなぐ仕様となっているいますが、これだと困ること
> があります。
> 
> Set-Cookieは複数同時に送られることがあり、Expireの時間のフォーマットが","を
> 含むため後で、分割できなくなります。
>
> そこで、以下のように複数同じキーの物があるときは配列にするというのはいかがで
> しょうか?

それはまずいと思います。値によって文字列になったり配列になったり
するのでは結局常に両方を予測してコードを書かないとならず、非常に
不便です。もちろん互換性もなくなります。

また、TMail でもヘッダの中に配列を入れるというのをやったんですが、
これってかなり操作が不便なんです。多少問題があっても、#[] は文字列
だけを返す、としたほうが使いやすいです。

しかしそれだけではちょっと悲しいので、Set-Cookie については値を
配列で取り出すための専用メソッドを付けるというのはどうでしょうか。
あるいは、内部では配列で保持しておいて、その配列を直接取ることが
できるメソッドを別に作る、という方法でもいいと思います。

ただ、ちょっと大きい変更になりますから、1.8 シリーズが分岐した
後に CVS HEAD で作業しようと思います。その後 1.8 シリーズにバック
ポートします。つまり入るのは早くて 1.8.1 ということになりますか。
-------------------------------------------------------------------
青木峰郎