Project

General

Profile

Feature #14688

Net::HTTPResponse#value raises "Net::HTTPServerException" in 4xx response

Added by unasuke (Yusuke Nakamura) about 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
[ruby-core:86545]

Description

Call value method to an instance of Net::HTTPResponse it raises Net::HTTPServerException in case of HTTP response status code is 4xx.

But HTTP response status code 4xx means "Client error response" not "Server response" so I think that's wrong naming.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#Client_error_responses

Therefore, I think it's maybe specifications bug, but it cause breaking changes in many ruby programs to change exception name.

I propose to create Net::HTTPClientException as alias of the Net::HTTPServerException for compatibility.


Files

lib_net_http_exceptions.patch (999 Bytes) lib_net_http_exceptions.patch unasuke (Yusuke Nakamura), 04/15/2018 01:35 PM
lib_net_http_exceptions_with_deprecate.patch (1.08 KB) lib_net_http_exceptions_with_deprecate.patch unasuke (Yusuke Nakamura), 05/10/2018 03:57 PM

Updated by k0kubun (Takashi Kokubun) about 2 years ago

I like this. If nobody has an objection, I want to deprecate_constant the old one, and would like the same fix for Net::ProtoServerError as well.

Updated by shevegen (Robert A. Heiler) about 2 years ago

The described transition path makes sense (to me).

Updated by usa (Usaku NAKAMURA) about 2 years ago

  • Assignee set to naruse (Yui NARUSE)
  • Status changed from Open to Assigned

At DevelopersMeeting20180419Japan, adding the alias is accepted.

Updated by unasuke (Yusuke Nakamura) about 2 years ago

k0kubun (Takashi Kokubun) wrote:

I like this. If nobody has an objection, I want to deprecate_constant the old one, and would like the same fix for Net::ProtoServerError as well.

I updated the patch. Like this?

#5

Updated by naruse (Yui NARUSE) about 2 years ago

  • Status changed from Assigned to Closed

Applied in changeset trunk|r63590.


Add Net::HTTPClientException [Bug #14688]

#6

Updated by naruse (Yui NARUSE) about 2 years ago

  • Backport deleted (2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN)
  • ruby -v deleted (2.6.0dev)
  • Tracker changed from Bug to Feature

Updated by usa (Usaku NAKAMURA) about 2 years ago

I suspect that deprecating Net::ProtoServerError is wrong.
The exception seems to be "something error reported from server", and is derived not only by Net::HTTPServerException but also Net::SMTPServerBusy.

Also available in: Atom PDF