Project

General

Profile

Backport #2758

NoMethodError instead of Errno::ECONNREFUSED when Net::HTTP cannot connect

Added by thatothermitch (Mitch Williams) over 10 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
[ruby-core:28231]

Description

=begin
The code:

require net/http.rb
n = Net::HTTP.new('server-that-is-not-listening-on-port-eighty')
n.request_head('/')

Used to throw: "Errno::ECONNREFUSED: Connection refused - connect(2)"

But after http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=25851 the code throws: "NoMethodError: undefined method `closed?' for nil:NilClass"

From line 1060 of net/http.rb. It looks like the code was intended to close sockets in the event of an error, but it assumes the socket actually exists.
=end


Related issues

Is duplicate of Backport187 - Backport #2708: NoMethodError exception generated when using net/httpClosedshyouhei (Shyouhei Urabe)02/03/2010Actions
Has duplicate Backport187 - Backport #2779: Net::HTTP#get raises NoMethodErrorClosed02/22/2010Actions
#1

Updated by shyouhei (Shyouhei Urabe) about 10 years ago

  • Status changed from Open to Closed

=begin
This issue was solved with changeset r27955.
John, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Also available in: Atom PDF