You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Net::HTTP to a closed port raises SocketError where MRI raises Errno::ECONNREFUSED #772
Errno::ECONNREFUSED is what a program rescues to distinguish "nothing is listening" from a name-resolution or protocol failure, and retry logic is routinely written on exactly that distinction, so the substitution is not cosmetic: rescue Errno::ECONNREFUSED does not fire, and rescue SocketError catches both cases where MRI separates them.
Found alongside #771 while measuring the embedding surface for #768. Unlike #771 this one is a plain conformance divergence with no hang involved.
Worth checking the neighbouring cases in the same pass rather than only this one: ECONNRESET, EHOSTUNREACH, ETIMEDOUT and a genuine DNS failure (which should be SocketError), since whatever maps the Go error to a Ruby class here is likely to collapse those too. A census of the mapping would be better than a single-case fix.
Activity