あおきです。

  In mail "[ruby-list:26653] Re: net/http,smtp,pop 1.2 pre 1"
    TAKAHASHI Masayoshi <maki / inac.co.jp> wrote:

> 高橋征義です。

> >   * get head など「1 系列」は例外を発生しなくなる
> >     さらに、返り値は HTTPResponse ひとつだけになる
> 
> これは以前予告されていた通りですよね。

はい。


> >   * リクエストオブジェクトの新設。
> >     それに伴って new_get new_head など新しいメソッドを追加

> > new_get その他の使い方は以下のようです。

> こ、これはちょっと……。なんかgetと似て異なるところが気になります。

> どうせRequestオブジェクトを作るのなら、

> という感じの使い方を基本として、その省略形として get メソッドが
> ある、みたいなやり方が私にはしっくりくるのですが、どうでしょうか。

なるほど…。ぼくもそういうのも考えたんですが、さる理由から
躊躇しました。これからもう一回構成しなおしてみます。


> あるいは、HTTPセッションはリクエスト時に指定するべし、という
> ことなら、
> 
>   req = Get.new(http, ...)
>   ...
>   response = req.send()
> 
> とか(これはちょっとイマイチかも)。

これだと今の仕様と引数が入れかわってるだけになりませんか?


> それと、Net::HTTPって、finish時に'/'に向かって「connection: close」
> なheadリクエストを(普通のリクエストとは別に)投げてますよね。
> これ、なくしませんか?  HTTP的には(SMTPなどと違って)不自然に
> 思えます。
> 最後のリクエストで connection: close を投げるようになると美しい
> のですが、自動的にやるのは難しそう。うまいやり方は思いつかない
> です(_o_)

そうなんですよ。これができれば苦労はないんですが、どうにも他の方法が
思いつかなくて…。と言ってもいきなりコネクションを切るのはまたなんか
雑な感じだし。HTTP の常識としてそれは予想された動作なんでしょうか。

# ていうかコネクションの切断をプロトコルに含めるのはやめてくれ。
-------------------------------------------------------------------
青木峰郎(あおきみねろう)