In message <200012200345.MAA05666 / mx.inac.co.jp>
maki / inac.co.jp writes:

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

前私が引っかかったやつですね.できの悪い proxy や,もしかしたらうさん
くさく動作する HTTP サーバが相手だったりすると Broken Pipe になるって
の.もっとも close 送るのが変,っていうのは確かなんですが.

# keep-alive をまともに解釈してない proxy だからくさる.


つい最近(っていうか昨日)ひっかかったのはちょっと前の snapshot で

    Net::HTTP.Proxy(proxy, port).start(host, nil) { |s| s.get(path) }

ってすると,proxy に `GET http://host:/path HTTP/1.1' なんて送られて
Bad Request だの Internal Sever Error だのと文句をいわれるっていうの.

# まえに report したのと同じバージョン.


ちゃんと edit_path でチェックしてるはずなのに,set_pipe してやりとりを
見てると `:' つきで送ってしまっているのだな.こっちは現象がなんだかよ
くわかってません.start にちゃんと port 渡すと問題ないんですよね....

# proxy の方もそれぐらい適当に解釈してほしいものだ.っていうか,おとと
# いまでは解釈する proxy だったんだけど.


-- 
柳川和久 @ 東大阪市 . 大阪府                              December 20, 2000
Youth comes but once in a lifetime.