[#38919] Ruby 1.8.1 preview4 — matz@... (Yukihiro Matsumoto)

Hi,

44 messages 2003/12/22
[#38921] Re: Ruby 1.8.1 preview4 — "NAKAMURA, Hiroshi" <nakahiro@...> 2003/12/22

Hi, all,

[ruby-list:39010] Net::HTTP.head に空の文字列を渡したときの処理

From: Narushima Hironori <hironori@...>
Date: 2003-12-28 14:13:29 UTC
List: ruby-list #39010
Narushima Hironori と申します。

Net::HTTP.head メソッドに空の文字列を渡して実行したとき、
例外 Net::HTTPBadResponse (wrong status line) が投げられます。


-- コード
  require 'net/http'
  require 'uri'
  
  uri = URI.parse('http://localhost')
  p Net::HTTP.start(uri.host, uri.port) { |h| h.head(uri.path) }

-- エラー内容
  C:/ruby-1.8.1-i386-mswin32/lib/ruby/1.8/net/http.rb:1563:in 
  `read_status_line': wrong status line: "<!DOCTYPE HTML PUBLIC 
  \"-//IETF//DTD HTML 2.0//EN\">" (Net::HTTPBadResponse)


パスに何か文字列を含んでいると、Net::HTTPResponse を返してくれます。

-- コード
  uri = URI.parse('http://localhost/')
  p Net::HTTP.start(uri.host, uri.port) { |h| h.head(uri.path) }

-- 出力
  #<Net::HTTPForbidden 403 readbody=true>




実は、私はこれに少しハマってしまいました。これは、最初から 空文字だっ
たらルートにアクセスするようにするか、何か別の例外を投げるようにしたほ
うがいいと思うのですが、どうでしようか。

-- 
Narushima Hironori mailto:hironori@narucy.com
http://hironori.narucy.com

In This Thread

Prev Next