Http.get call works, but then fails when using debugger

Hi,
Can someone tell me if I have found a bug or am doing something wrong
using Net::HTTP.get ? If I run the code without the -rdebug flag, then
it works perfectly. If I use the flag and then simply do a continue,
then I get the errors shown after the code below. I have stepped
through the code and shown that it is the get2 call that causes the
error. Also happens with the get method.

I/m running Ruby version 1.8.5 on both Mac (PowerPC) and Redhat
Enterprise Linux. Same result on both.

Jeff

#!/usr/bin/ruby

require ‘net/http’

SITE = “http://campus.acm.org
PATH = ‘/Public/fmr/’
USERAGENT = ’ Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en)
AppleWebKit/418.9 (KHTML, like Gecko) Safari/419.3’
http = Net::HTTP.new(‘campus.acm.org’,80)
puts " "
puts “First Get”
headers = {
‘Content-type’ => ‘application/x-www-form-urlencoded’,
‘User-Agent’ => USERAGENT,
‘Keep-Alive’ => ‘300’,
‘Connection’ => ‘keep-alive’
}

resp, data = http.get2(PATH, headers)
puts 'Code= ’ + resp.code


spartan[293]ruby -rdebug jtest1.rb
Debug.rb
Emacs support available.

jtest1.rb:3:require ‘net/http’
(rdb:1) c

First Get
/usr/local/lib/ruby/1.8/net/protocol.rb:133: end of file reached' (EOFError) from /usr/local/lib/ruby/1.8/timeout.rb:76:intimeout’
from /usr/local/lib/ruby/1.8/net/protocol.rb:132:in rbuf_fill' from /usr/local/lib/ruby/1.8/net/protocol.rb:104:inread_all’
from /usr/local/lib/ruby/1.8/net/http.rb:2217:in read_body_0' from /usr/local/lib/ruby/1.8/net/http.rb:2170:inread_body’
from /usr/local/lib/ruby/1.8/net/http.rb:2195:in body' from /usr/local/lib/ruby/1.8/net/http.rb:2134:inreading_body’
from /usr/local/lib/ruby/1.8/net/http.rb:1049:in request' from /usr/local/lib/ruby/1.8/net/http.rb:1034:inrequest’
from /usr/local/lib/ruby/1.8/net/http.rb:543:in start' from /usr/local/lib/ruby/1.8/net/http.rb:1032:inrequest’
from /usr/local/lib/ruby/1.8/net/http.rb:945:in `get2’
from jtest1.rb:17
/usr/local/lib/ruby/1.8/net/protocol.rb:133: @rbuf <<
@io.sysread(1024)

On 11/3/06, Jeff J. [email protected] wrote:

http = Net::HTTP.new(‘campus.acm.org’,80)
puts ‘Code= ’ + resp.code
/usr/local/lib/ruby/1.8/net/protocol.rb:133: end of file reached' from /usr/local/lib/ruby/1.8/net/http.rb:543:instart’
from /usr/local/lib/ruby/1.8/net/http.rb:1032:in request' from /usr/local/lib/ruby/1.8/net/http.rb:945:inget2’
from jtest1.rb:17
/usr/local/lib/ruby/1.8/net/protocol.rb:133: @rbuf <<
@io.sysread(1024)

This is probably normal behaviour. Run your script with -w or -d
switch and you’ll see all exceptions. The debugger stops on all
excetions even if they are caught.

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