かずひこです。

At Fri, 18 Feb 2005 13:13:22 +0900,
Minero Aoki wrote:
> > HTTPResponse の中に複数の 'set-cookie' がある場合の処理などを考えれば、
> > 1.8 系のように ', ' で連結されているよりも 1.9 系のように素直に配列になっ
> > ている方がありがたいのですが、ruby-1.8.3 のリリースまでに net/http.rb を
> > 1.8 系にバックポートしませんか?
(snip)
> 内部的にはともあれ、外から見れば純粋な仕様追加なので、
> 個人的には構わないんじゃないかと思ってます。「いや 1.8 には
> いかなる仕様追加も認めない」と主張する人がいれば考えます。

そうですよね>外から見れば純粋な仕様追加。
というわけで、ぜひよろしくお願いします。

> > # 連結されている部分の中にも ', ' が含まれていることが多く、パースがとて
> > # も面倒くさい。
> 
> ……という問題はヘッダを配列で返すことによってではなく、
> Cookie オブジェクトの配列を返すメソッドを提供することで
> 解決すべきだと思います。

ただ、現在の ruby-1.8 系の net/http.rb を使いながら、メソッドの追加や上書
きでこれをやろうとすると、けっこう面倒だと思います、たぶん。

> なんで今まで提供してなかったかと言うと、Cookie クラスを
> どこで提供すべきかわからんかったからです。CGI::Cookie と
> WEBrick::Cookie があるとこへさらに HTTP::Cookie を定義する
> のはアホくさいし、かと言って CGI::Cookie は何か違うし……。

手元では、ruby-1.9 系の net/http.rb を使った上で、


  cookies = (response.get_fields('Set-Cookie')||[]).collect do |cookie_str|
    CGI::Cookie.parse(cookie_str)
  end

みたいなことをしました。はい、結局 CGI::Cookie を使っています...
-- 
かずひこ <http://wiki.fdiary.net/kazuhiko/>
  ★シャア「名字が付いてない」
  ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」