Project

General

Profile

Actions

Feature #14688

closed

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

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

Added by unasuke (Yusuke Nakamura) over 7 years ago. Updated over 7 years ago.

Status:
Closed
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) over 7 years ago Actions #1 [ruby-core:86549]

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) over 7 years ago Actions #2 [ruby-core:86557]

The described transition path makes sense (to me).

Updated by usa (Usaku NAKAMURA) over 7 years ago Actions #3 [ruby-core:86608]

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

At DevelopersMeeting20180419Japan, adding the alias is accepted.

Updated by unasuke (Yusuke Nakamura) over 7 years ago Actions #4 [ruby-core:86970]

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?

Updated by naruse (Yui NARUSE) over 7 years ago Actions #5

  • Status changed from Assigned to Closed

Applied in changeset trunk|r63590.


Add Net::HTTPClientException [Bug #14688]

Updated by naruse (Yui NARUSE) over 7 years ago Actions #6

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

Updated by usa (Usaku NAKAMURA) over 7 years ago Actions #7 [ruby-core:87488]

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.

Actions

Also available in: PDF Atom