Feature #6480
closed[PATCH] Add HTTP status codes from RFC 6585
Description
Hi, Matz and rubyists.
I attach a patch that contains additional HTTP status codes from RFC 6585 -
http://tools.ietf.org/html/rfc6585.
- lib/net/http.rb : add HTTP status codes from RFC 6585.
- lib/webrick/httpstatus.rb : add HTTP status codes from RFC 6585.
It's simple, isn't it?
Thanks.
Sangil Jung.
+82.10.6402-4639
http://humbroll.com
Index: lib/webrick/httpstatus.rb¶
--- lib/webrick/httpstatus.rb (revision 35666)
+++ lib/webrick/httpstatus.rb (working copy)
@@ -88,12 +88,16 @@
415 => 'Unsupported Media Type',
416 => 'Request Range Not Satisfiable',
417 => 'Expectation Failed',
-
428 => 'Precondition Required',
-
429 => 'Too Many Requests',
-
431 => 'Request Header Fields Too Large', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Timeout',
-
505 => 'HTTP Version Not Supported'
-
505 => 'HTTP Version Not Supported',
-
511 => 'Network Authentication Required'
}
Maps a status code to the corresponding Status class¶
Index: lib/net/http.rb¶
--- lib/net/http.rb (revision 35666)
+++ lib/net/http.rb (working copy)
@@ -347,6 +347,9 @@
# HTTPUnsupportedMediaType:: 415
# HTTPRequestedRangeNotSatisfiable:: 416
# HTTPExpectationFailed:: 417
-
HTTPPreconditionRequired:: 428¶
-
HTTPTooManyRequests:: 429¶
-
HTTPRequestHeaderFieldsTooLarge:: 431¶
HTTPServerError:: 5xx¶
HTTPInternalServerError:: 500¶
HTTPNotImplemented:: 501¶
@@ -354,6 +357,7 @@
# HTTPServiceUnavailable:: 503
# HTTPGatewayTimeOut:: 504
# HTTPVersionNotSupported:: 505
-
HTTPNetworkAuthenticationRequired:: 511¶
There is also the Net::HTTPBadResponse exception which is raised when¶
there is a protocol error.¶
@@ -2387,6 +2391,9 @@
# 415 HTTPUnsupportedMediaType
# 416 HTTPRequestedRangeNotSatisfiable
# 417 HTTPExpectationFailed
-
428 HTTPPreconditionRequired¶
-
429 HTTPTooManyRequests¶
-
431 HTTPRequestHeaderFieldsTooLarge¶
5xx HTTPServerError¶
500 HTTPInternalServerError¶
@@ -2395,6 +2402,7 @@
# 503 HTTPServiceUnavailable
# 504 HTTPGatewayTimeOut
# 505 HTTPVersionNotSupported
@@ -2544,25 +2552,37 @@
class HTTPExpectationFailed < HTTPClientError # 417
HAS_BODY = true
end
- class HTTPPreconditionRequired < HTTPClientError # 428
- HAS_BODY = true
- end
- class HTTPTooManyRequests < HTTPClientError # 429
- HAS_BODY = true
- end
- class HTTPRequestHeaderFieldsTooLarge < HTTPClientError # 431
- HAS_BODY = true
- end
- class HTTPInternalServerError < HTTPServerError # 500
- class HTTPInternalServerError < HTTPServerError # 500
HAS_BODY = true
end
- class HTTPNotImplemented < HTTPServerError # 501
- class HTTPNotImplemented < HTTPServerError # 501
HAS_BODY = true
end
- class HTTPBadGateway < HTTPServerError # 502
- class HTTPBadGateway < HTTPServerError # 502
HAS_BODY = true
end
- class HTTPServiceUnavailable < HTTPServerError # 503
- class HTTPServiceUnavailable < HTTPServerError # 503
HAS_BODY = true
end
- class HTTPGatewayTimeOut < HTTPServerError # 504
- class HTTPGatewayTimeOut < HTTPServerError # 504
HAS_BODY = true
end
- class HTTPVersionNotSupported < HTTPServerError # 505
-
class HTTPVersionNotSupported < HTTPServerError # 505
HAS_BODY = true
end -
class HTTPNetworkAuthenticationRequired < HTTPServerError # 511
-
HAS_BODY = true
-
end
:startdoc:¶
@@ -2614,13 +2634,17 @@
'415' => HTTPUnsupportedMediaType,
'416' => HTTPRequestedRangeNotSatisfiable,
'417' => HTTPExpectationFailed,
-
'428' => HTTPPreconditionRequired,
-
'429' => HTTPTooManyRequests,
-
'431' => HTTPRequestHeaderFieldsTooLarge, '500' => HTTPInternalServerError, '501' => HTTPNotImplemented, '502' => HTTPBadGateway, '503' => HTTPServiceUnavailable, '504' => HTTPGatewayTimeOut,
-
'505' => HTTPVersionNotSupported
-
'505' => HTTPVersionNotSupported,
-
'511' => HTTPNetworkAuthenticationRequired
}
class << HTTPResponse
--¶
Sangil Jung.
+82.10.6402-4639
http://humbroll.com
Files
Updated by drbrain (Eric Hodel) over 12 years ago
- File net.http.rfc6585.patch added
- Category set to lib
- Target version set to 2.0.0
Here is an updated patch after #6435
Updated by drbrain (Eric Hodel) over 12 years ago
- File net.http.rfc6585.patch net.http.rfc6585.patch added
Oops, I forgot a comma in my patch.
Updated by drbrain (Eric Hodel) over 12 years ago
- File deleted (
net.http.rfc6585.patch)
Updated by mame (Yusuke Endoh) over 12 years ago
- Status changed from Open to Assigned
- Assignee set to drbrain (Eric Hodel)
Updated by mame (Yusuke Endoh) over 12 years ago
Please commit it unless there is objection within a few days or a week.
Thanks!
--
Yusuke Endoh mame@tsg.ne.jp
Updated by naruse (Yui NARUSE) over 12 years ago
mame (Yusuke Endoh) wrote:
Please commit it unless there is objection within a few days or a week.
Thanks!
I also agree.
Eric, could you commit it?
Updated by drbrain (Eric Hodel) over 12 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r35970.
Sangil, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- lib/net/http/responses.rb: Add RFC 6586 response codes. Patch by
Sangil Jung. [ruby-trunk - Feature #6480] - lib/net/http/response.rb: ditto
- lib/net/http.rb: ditto
- lib/webrick/httpstatus.rb: ditto