Strange NoMethodError

Hi,
In the following test script (similar to pickaxe p. 700 ):

require ‘net/http’
require ‘uri’

def fetch (uri_str, limit=10)
fail ‘http redirect limit exceeded’ if limit.zero?
response = Net::HTTP.get_response(URI.parse(uri_str))
case response
when Net::HTTPSuccess
response
when Net::HTTPRedirection
fetch(response[‘location’], limit-1)
else
response.error!
end
end

fetch(‘heise.de’);

with
ruby test.rb
I get the result:

Exception `NoMethodError’ at /usr/local/lib/ruby/1.8/net/http.rb:380

  • undefined method request_uri' for #<URI::Generic:0x188f84 URL:heise.de> /usr/local/lib/ruby/1.8/net/http.rb:380:inget_response’: undefined
    method request_uri' for #<URI::Generic:0x188f84 URL:heise.de> (NoMethodError) from /usr/local/lib/ruby/1.8/net/http.rb:545:instart’
    from /usr/local/lib/ruby/1.8/net/http.rb:379:in get_response' from test.rb:6:infetch’
    from test.rb:18

I had a look at /usr/local/lib/ruby/1.8/uri/http.rb
The function was defined there:

 # == Description
 #
 # Returns: path + '?' + query
 #
 def request_uri
   r = path_query
   if r[0] != ?/
     r = '/' + r
   end

   r
 end

It should be a function of the standard libray. I am quite new to
ruby. How can I debug this problem? Or any hints what I can do?

Thanks in advance for your help,

Holger

On Mon, 7 Aug 2006, Holger B. wrote:

when Net::HTTPSuccess
response
when Net::HTTPRedirection
fetch(response[‘location’], limit-1)
else
response.error!
end
end

fetch(‘heise.de’);
^^^^^^^^
^^^^^^^^

this is not a uri.

try

harp:~ > ruby -r uri -e’ p URI.parse(“heise.de”).host ’
nil

harp:~ > ruby -r uri -e’ p URI.parse(“http://heise.de”).host ’
heise.de

regards.

-a

On Aug 7, 2006, at 5:02 PM, [email protected] wrote:

response = Net::HTTP.get_response(URI.parse(uri_str))

harp:~ > ruby -r uri -e’ p URI.parse(“http://heise.de”).host ’
heise.de

regards.

-a

Oh my god … thank you vey much. You are right. I was a it confused
because of the NoMethodError and I thought I had installed something
wrongly. Thanks for your hint :slight_smile:

best regards,
Holger

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs