[#40847] ActiveRecordからのSQLiteの使用について — Hiromi Ishii <banzaida@...>
こんばんは。konnです。
5 messages
2005/06/04
[#40854] Ruby without false or nil — SASADA Koichi <ko1@...>
ささだです。
14 messages
2005/06/08
[#40855] Re: Ruby without false or nil
— SAITO Shukaku <shukaku@...>
2005/06/08
斉藤秀格と申します。
[#40868] [RFC] framework of Ruby/Tk + VNC — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
6 messages
2005/06/10
[ruby-list:40840] Re: (Net::HTTP) ステータスを返さないnphスクリプト
From:
Motomichi Matsuzaki <mzaki@...>
Date:
2005-06-02 09:33:08 UTC
List:
ruby-list #40840
どうも、松崎です。
自分でもすっかり忘れておりました。
すみません。
At Thu, 2 Jun 2005 09:28:06 +0900,
Takahiro Kambe wrote:
> > まあ、明らかにスクリプトの方が仕様外なので仕方ないのです
> > (そして連絡しても直してもらえないのです)が、
> > 例外を拾っても救済する方法がわかりませんでした。
> HTTPとしての仕様を満たしていない以上、例外を拾って救済するのはエラー処
> 理をする以上のことはできないわけです。エラーとせずにデータを受け取りた
> いなら、http.rbで定義されている内容を元に修正が必要になると思います。
はい、というわけで、
下のように raise HTTPBadResponse を削って
内容を受け取るようにしました。
これだと response の最初2行が闇へ消えてしまうのですが、
今回は HTML 構文解析をするわけではないのでよしとしました。
class << Net::HTTPResponse
def read_status_line(sock)
str = sock.readline
m = /\AHTTP(?:\/(\d+\.\d+))?\s+(\d\d\d)\s*(.*)\z/in.match(str)
m ? m.to_a[1,3] : ['', '', '']
end
def each_response_header(sock)
while true
line = sock.readuntil("\n", true).sub(/\s+\z/, '')
break if line.empty?
m = /\A([^:]+):\s*/.match(line) or break
yield m[1], m.post_match
end
end
end
--
Motomichi Matsuzaki, PhD <mzaki@biol.s.u-tokyo.ac.jp>
Dept. of Biological Sciences, Grad. School of Science, Univ. of Tokyo, Japan