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:in timeout’
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:in read_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:in read_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:in reading_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:in request’
from /usr/local/lib/ruby/1.8/net/http.rb:543:in start' from /usr/local/lib/ruby/1.8/net/http.rb:1032:in request’
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:in start’
from /usr/local/lib/ruby/1.8/net/http.rb:1032:in request' 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)

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.