diff --git a/lib/net/http/responses.rb b/lib/net/http/responses.rb
index 02a2fdaa..a883cd37 100644
--- a/lib/net/http/responses.rb
+++ b/lib/net/http/responses.rb
@@ -3,192 +3,500 @@
# https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
module Net
- # :stopdoc:
class HTTPUnknownResponse < HTTPResponse
HAS_BODY = true
EXCEPTION_TYPE = HTTPError #
end
- class HTTPInformation < HTTPResponse # 1xx
+
+ # Parent class for informational (1xx) HTTP response classes.
+ #
+ # An informational response indicates that the request was received and understood.
+ # See {Informational Response}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#1xx_informational_response].
+ #
+ class HTTPInformation < HTTPResponse
HAS_BODY = false
EXCEPTION_TYPE = HTTPError #
end
- class HTTPSuccess < HTTPResponse # 2xx
+
+ # Parent class for success (2xx) HTTP response classes.
+ #
+ # A success response indicates the action requested by the client
+ # was received, understood, and accepted.
+ # See {Success Response}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#2xx_success].
+ class HTTPSuccess < HTTPResponse
HAS_BODY = true
EXCEPTION_TYPE = HTTPError #
end
- class HTTPRedirection < HTTPResponse # 3xx
+
+ # Parent class for redirection (3xx) HTTP response classes.
+ #
+ # A redirection response indicates the client must take additional action
+ # to complete the request.
+ # See {Redirection Response}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_redirection].
+ class HTTPRedirection < HTTPResponse
HAS_BODY = true
EXCEPTION_TYPE = HTTPRetriableError #
end
- class HTTPClientError < HTTPResponse # 4xx
+
+ # Parent class for client error (4xx) HTTP response classes.
+ #
+ # A client error response indicates that the client may have caused an error.
+ # See {Client Error Response}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_client_errors].
+ class HTTPClientError < HTTPResponse
HAS_BODY = true
EXCEPTION_TYPE = HTTPClientException #
end
- class HTTPServerError < HTTPResponse # 5xx
+
+ # Parent class for server error (5xx) HTTP response classes.
+ #
+ # A server error response indicates that the server failed to fulfill a request.
+ # See {Server Error Response}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_server_errors].
+ class HTTPServerError < HTTPResponse
HAS_BODY = true
EXCEPTION_TYPE = HTTPFatalError #
end
- class HTTPContinue < HTTPInformation # 100
+ # Response class for +Continue+ responses (status code 100).
+ #
+ # A +Continue+ response indicates that the server has received the request headers
+ # See {100 Continue}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#100].
+ class HTTPContinue < HTTPInformation
HAS_BODY = false
end
- class HTTPSwitchProtocol < HTTPInformation # 101
+
+ # Response class for Switching Protocol responses (status code 101).
+ #
+ # The Switching Protocol response indicates that the server has received
+ # a request to switch protocols, and has agreed to do so.
+ # See {101 Switching Protocols}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#101].
+ class HTTPSwitchProtocol < HTTPInformation
HAS_BODY = false
end
- class HTTPProcessing < HTTPInformation # 102
+
+ # Response class for +Processing+ responses (status code 102).
+ #
+ # The +Processing+ response indicates that the server has received
+ # and is processing the request, but no response is available yet.
+ # See {102 Processing}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#102].
+ class HTTPProcessing < HTTPInformation
HAS_BODY = false
end
- class HTTPEarlyHints < HTTPInformation # 103 - RFC 8297
+
+ # Response class for Early Hints responses (status code 103).
+ #
+ # The Early Hints indicates that the server has received
+ # and is processing the request, and contains certain headers;
+ # the final response is not available yet.
+ # See {103 Early Hints}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#103].
+ class HTTPEarlyHints < HTTPInformation
HAS_BODY = false
end
- class HTTPOK < HTTPSuccess # 200
+ # Response class for +OK+ responses (status code 200).
+ #
+ # The +OK+ response indicates that the server has received
+ # a request and has responded successfully.
+ # See {200 OK}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#200].
+ class HTTPOK < HTTPSuccess
HAS_BODY = true
end
- class HTTPCreated < HTTPSuccess # 201
+
+ # Response class for +Created+ responses (status code 201).
+ #
+ # The +Created+ response indicates that the server has received
+ # and has fulfilled a request to create a new resource.
+ # See {201 Created}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#201].
+ class HTTPCreated < HTTPSuccess
HAS_BODY = true
end
- class HTTPAccepted < HTTPSuccess # 202
+
+ # Response class for +Accepted+ responses (status code 202).
+ #
+ # The +Accepted+ response indicates that the server has received
+ # and is processing a request, but the processing has not yet been completed.
+ # See {202 Accepted}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#202].
+ class HTTPAccepted < HTTPSuccess
HAS_BODY = true
end
- class HTTPNonAuthoritativeInformation < HTTPSuccess # 203
+
+ # Response class for Non-Authoritative Information responses (status code 203).
+ #
+ # The Non-Authoritative Information response indicates that the server
+ # is a transforming proxy (such as a Web accelerator)
+ # that received a 200 OK response from its origin,
+ # and is returning a modified version of the origin's response.
+ # See {203 Non-Authoritative Information}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#203].
+ class HTTPNonAuthoritativeInformation < HTTPSuccess
HAS_BODY = true
end
- class HTTPNoContent < HTTPSuccess # 204
+
+ # Response class for No Content responses (status code 204).
+ #
+ # The No Content response indicates that the server
+ # successfully processed the request, and is not returning any content.
+ # See {204 No Content}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#204].
+ class HTTPNoContent < HTTPSuccess
HAS_BODY = false
end
- class HTTPResetContent < HTTPSuccess # 205
+
+ # Response class for Reset Content responses (status code 205).
+ #
+ # The Reset Content response indicates that the server
+ # successfully processed the request,
+ # asks that the client reset its document view, and is not returning any content.
+ # See {205 Reset Content}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#205].
+ class HTTPResetContent < HTTPSuccess
HAS_BODY = false
end
- class HTTPPartialContent < HTTPSuccess # 206
+
+ # Response class for Partial Content responses (status code 206).
+ #
+ # The Partial Content response indicates that the server is delivering
+ # only part of the resource (byte serving)
+ # due to a Range header in the request.
+ # See {206 Partial Content}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#206].
+ class HTTPPartialContent < HTTPSuccess
HAS_BODY = true
end
- class HTTPMultiStatus < HTTPSuccess # 207 - RFC 4918
+
+ # Response class for Multi-Status (WebDAV) responses (status code 207).
+ #
+ # The Multi-Status (WebDAV) response indicates that the server
+ # has received the request,
+ # and that the message body can contain a number of separate response codes.
+ # See {207 Multi-Status (WebDAV)}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#207].
+ class HTTPMultiStatus < HTTPSuccess
HAS_BODY = true
end
- class HTTPAlreadyReported < HTTPSuccess # 208 - RFC 5842
+
+ # Response class for Already Reported (WebDAV) responses (status code 208).
+ #
+ # The Already Reported (WebDAV) response indicates that the server
+ # has received the request,
+ # and that the members of a DAV binding have already been enumerated
+ # in a preceding part of the (multi-status) response,
+ # and are not being included again.
+ # See {208 Already Reported (WebDAV)}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#208].
+ class HTTPAlreadyReported < HTTPSuccess
HAS_BODY = true
end
- class HTTPIMUsed < HTTPSuccess # 226 - RFC 3229
+
+ # Response class for IM Used responses (status code 226).
+ #
+ # The IM Used response indicates that the server has fulfilled a request
+ # for the resource, and the response is a representation of the result
+ # of one or more instance-manipulations applied to the current instance.
+ # See {226 IM Used}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#226].
+ class HTTPIMUsed < HTTPSuccess
HAS_BODY = true
end
- class HTTPMultipleChoices < HTTPRedirection # 300
+ # Response class for Multiple Choices responses (status code 300).
+ #
+ # The Multiple Choices response indicates that the server
+ # offers multiple options for the resource from which the client may choose.
+ # See {300 Multiple Choices}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#300].
+ class HTTPMultipleChoices < HTTPRedirection
HAS_BODY = true
end
HTTPMultipleChoice = HTTPMultipleChoices
- class HTTPMovedPermanently < HTTPRedirection # 301
+
+ # Response class for Moved Permanently responses (status code 301).
+ #
+ # The Moved Permanently response indicates that links or records
+ # returning this response should be updated to use the given URL.
+ # See {301 Moved Permanently}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#301].
+ class HTTPMovedPermanently < HTTPRedirection
HAS_BODY = true
end
- class HTTPFound < HTTPRedirection # 302
+
+ # Response class for Found responses (status code 302).
+ #
+ # The Found response indicates that the client
+ # should look at (browse to) another URL.
+ # See {302 Found}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#302].
+ class HTTPFound < HTTPRedirection
HAS_BODY = true
end
HTTPMovedTemporarily = HTTPFound
- class HTTPSeeOther < HTTPRedirection # 303
+
+ # Response class for See Other responses (status code 303).
+ #
+ # The response to the request can be found under another URI using the GET method.
+ # See {303 See Other}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#303].
+ class HTTPSeeOther < HTTPRedirection
HAS_BODY = true
end
- class HTTPNotModified < HTTPRedirection # 304
+
+ # Response class for Not Modified responses (status code 304).
+ #
+ # Indicates that the resource has not been modified since the version
+ # specified by the request headers.
+ # See {304 Not Modified}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#304].
+ class HTTPNotModified < HTTPRedirection
HAS_BODY = false
end
- class HTTPUseProxy < HTTPRedirection # 305
+
+ # Response class for Use Proxy responses (status code 305).
+ #
+ # The requested resource is available only through a proxy,
+ # whose address is provided in the response.
+ # See {305 Use Proxy}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#305].
+ class HTTPUseProxy < HTTPRedirection
HAS_BODY = false
end
- # 306 Switch Proxy - no longer unused
- class HTTPTemporaryRedirect < HTTPRedirection # 307
+
+ # Response class for Temporary Redirect responses (status code 307).
+ #
+ # The request should be repeated with another URI;
+ # however, future requests should still use the original URI.
+ # See {307 Temporary Redirect}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#307].
+ class HTTPTemporaryRedirect < HTTPRedirection
HAS_BODY = true
end
- class HTTPPermanentRedirect < HTTPRedirection # 308
+
+ # Response class for Permanent Redirect responses (status code 308).
+ #
+ # This and all future requests should be directed to the given URI.
+ # See {308 Permanent Redirect}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#308].
+ class HTTPPermanentRedirect < HTTPRedirection
HAS_BODY = true
end
- class HTTPBadRequest < HTTPClientError # 400
+ # Response class for Bad Request responses (status code 400).
+ #
+ # The server cannot or will not process the request due to an apparent client error.
+ # See {400 Bad Request}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#400].
+ class HTTPBadRequest < HTTPClientError
HAS_BODY = true
end
- class HTTPUnauthorized < HTTPClientError # 401
+
+ # Response class for Unauthorized responses (status code 401).
+ #
+ # Authentication is required, but either was not provided or failed.
+ # See {401 Unauthorized}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#401].
+ class HTTPUnauthorized < HTTPClientError
HAS_BODY = true
end
- class HTTPPaymentRequired < HTTPClientError # 402
+
+ # Response class for Payment Required responses (status code 402).
+ #
+ # Reserved for future use.
+ # See {402 Payment Required}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#402].
+ class HTTPPaymentRequired < HTTPClientError
HAS_BODY = true
end
- class HTTPForbidden < HTTPClientError # 403
+
+ # Response class for Forbidden responses (status code 403).
+ #
+ # The request contained valid data and was understood by the server,
+ # but the server is refusing action.
+ # See {403 Forbidden}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#403].
+ class HTTPForbidden < HTTPClientError
HAS_BODY = true
end
- class HTTPNotFound < HTTPClientError # 404
+
+ # Response class for Not Found responses (status code 404).
+ #
+ # The requested resource could not be found but may be available in the future.
+ # See {404 Not Found}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#404].
+ class HTTPNotFound < HTTPClientError
HAS_BODY = true
end
- class HTTPMethodNotAllowed < HTTPClientError # 405
+
+ # Response class for Method Not Allowed responses (status code 405).
+ #
+ # The request method is not supported for the requested resource.
+ # See {405 Method Not Allowed}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#405].
+ class HTTPMethodNotAllowed < HTTPClientError
HAS_BODY = true
end
- class HTTPNotAcceptable < HTTPClientError # 406
+
+ # Response class for Not Acceptable responses (status code 406).
+ #
+ # The requested resource is capable of generating only content
+ # that not acceptable according to the Accept headers sent in the request.
+ # See {406 Not Acceptable}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#406].
+ class HTTPNotAcceptable < HTTPClientError
HAS_BODY = true
end
- class HTTPProxyAuthenticationRequired < HTTPClientError # 407
+
+ # Response class for Proxy Authentication Required responses (status code 407).
+ #
+ # The client must first authenticate itself with the proxy.
+ # See {407 Proxy Authentication Required}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#407].
+ class HTTPProxyAuthenticationRequired < HTTPClientError
HAS_BODY = true
end
- class HTTPRequestTimeout < HTTPClientError # 408
+
+ # Response class for Request Timeout responses (status code 408).
+ #
+ # The server timed out waiting for the request.
+ # See {408 Request Timeout}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#408].
+ class HTTPRequestTimeout < HTTPClientError
HAS_BODY = true
end
HTTPRequestTimeOut = HTTPRequestTimeout
- class HTTPConflict < HTTPClientError # 409
+
+ # Response class for Conflict responses (status code 409).
+ #
+ # The request could not be processed because of conflict in the current state of the resource.
+ # See {409 Conflict}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#409].
+ class HTTPConflict < HTTPClientError
HAS_BODY = true
end
- class HTTPGone < HTTPClientError # 410
+
+ # Response class for Gone responses (status code 410).
+ #
+ # The resource requested was previously in use but is no longer available
+ # and will not be available again.
+ # See {410 Gone}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#410].
+ class HTTPGone < HTTPClientError
HAS_BODY = true
end
- class HTTPLengthRequired < HTTPClientError # 411
+
+ # Response class for Length Required responses (status code 411).
+ #
+ # The request did not specify the length of its content,
+ # which is required by the requested resource.
+ # See {411 Length Required}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#411].
+ class HTTPLengthRequired < HTTPClientError
HAS_BODY = true
end
- class HTTPPreconditionFailed < HTTPClientError # 412
+
+ # Response class for Precondition Failed responses (status code 412).
+ #
+ # The server does not meet one of the preconditions
+ # specified in the request headers.
+ # See {412 Precondition Failed}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#412].
+ class HTTPPreconditionFailed < HTTPClientError
HAS_BODY = true
end
- class HTTPPayloadTooLarge < HTTPClientError # 413
+
+ # Response class for Payload Too Large responses (status code 413).
+ #
+ # The request is larger than the server is willing or able to process.
+ # See {413 Payload Too Large}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#413].
+ class HTTPPayloadTooLarge < HTTPClientError
HAS_BODY = true
end
HTTPRequestEntityTooLarge = HTTPPayloadTooLarge
- class HTTPURITooLong < HTTPClientError # 414
+
+ # Response class for URI Too Long responses (status code 414).
+ #
+ # The URI provided was too long for the server to process.
+ # See {414 URI Too Long}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#414].
+ class HTTPURITooLong < HTTPClientError
HAS_BODY = true
end
HTTPRequestURITooLong = HTTPURITooLong
HTTPRequestURITooLarge = HTTPRequestURITooLong
- class HTTPUnsupportedMediaType < HTTPClientError # 415
+
+ # Response class for Unsupported Media Type responses (status code 415).
+ #
+ # The request entity has a media type which the server or resource does not support.
+ # See {415 Unsupported Media Type}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#415].
+ class HTTPUnsupportedMediaType < HTTPClientError
HAS_BODY = true
end
- class HTTPRangeNotSatisfiable < HTTPClientError # 416
+
+ # Response class for Range Not Satisfiable responses (status code 416).
+ #
+ # The request entity has a media type which the server or resource does not support.
+ # See {416 Range Not Satisfiable}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#416].
+ class HTTPRangeNotSatisfiable < HTTPClientError
HAS_BODY = true
end
HTTPRequestedRangeNotSatisfiable = HTTPRangeNotSatisfiable
- class HTTPExpectationFailed < HTTPClientError # 417
+
+ # Response class for Expectation Failed responses (status code 417).
+ #
+ # The server cannot meet the requirements of the Expect request-header field.
+ # See {417 Expectation Failed}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#417].
+ class HTTPExpectationFailed < HTTPClientError
HAS_BODY = true
end
+
# 418 I'm a teapot - RFC 2324; a joke RFC
+ # See https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#418.
+
# 420 Enhance Your Calm - Twitter
- class HTTPMisdirectedRequest < HTTPClientError # 421 - RFC 7540
+
+ # Response class for Misdirected Request responses (status code 421).
+ #
+ # The request was directed at a server that is not able to produce a response.
+ # See {421 Misdirected Request}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#421].
+ class HTTPMisdirectedRequest < HTTPClientError
HAS_BODY = true
end
- class HTTPUnprocessableEntity < HTTPClientError # 422 - RFC 4918
+
+ # Response class for Unprocessable Entity responses (status code 422).
+ #
+ # The request was well-formed but had semantic errors.
+ # See {422 Unprocessable Entity}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#422].
+ class HTTPUnprocessableEntity < HTTPClientError
HAS_BODY = true
end
- class HTTPLocked < HTTPClientError # 423 - RFC 4918
+
+ # Response class for Locked (WebDAV) responses (status code 423).
+ #
+ # The requested resource is locked.
+ # See {423 Locked (WebDAV)}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#423].
+ class HTTPLocked < HTTPClientError
HAS_BODY = true
end
- class HTTPFailedDependency < HTTPClientError # 424 - RFC 4918
+
+ # Response class for Failed Dependency (WebDAV) responses (status code 424).
+ #
+ # The request failed because it depended on another request and that request failed.
+ # See {424 Failed Dependency (WebDAV)}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#424].
+ class HTTPFailedDependency < HTTPClientError
HAS_BODY = true
end
- # 425 Unordered Collection - existed only in draft
- class HTTPUpgradeRequired < HTTPClientError # 426 - RFC 2817
+
+ # 425 Too Early
+ # https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#425.
+
+ # Response class for Upgrade Required responses (status code 426).
+ #
+ # The client should switch to the protocol given in the Upgrade header field.
+ # See {426 Upgrade Required}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#426].
+ class HTTPUpgradeRequired < HTTPClientError
HAS_BODY = true
end
- class HTTPPreconditionRequired < HTTPClientError # 428 - RFC 6585
+
+ # Response class for Precondition Required responses (status code 428).
+ #
+ # The origin server requires the request to be conditional.
+ # See {428 Precondition Required}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#428].
+ class HTTPPreconditionRequired < HTTPClientError
HAS_BODY = true
end
- class HTTPTooManyRequests < HTTPClientError # 429 - RFC 6585
+
+ # Response class for Too Many Requests responses (status code 429).
+ #
+ # The user has sent too many requests in a given amount of time.
+ # See {429 Too Many Requests}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#429].
+ class HTTPTooManyRequests < HTTPClientError
HAS_BODY = true
end
- class HTTPRequestHeaderFieldsTooLarge < HTTPClientError # 431 - RFC 6585
+
+ # Response class for Request Header Fields Too Large responses (status code 431).
+ #
+ # An individual header field is too large,
+ # or all the header fields collectively, are too large.
+ # See {431 Request Header Fields Too Large}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#431].
+ class HTTPRequestHeaderFieldsTooLarge < HTTPClientError
HAS_BODY = true
end
- class HTTPUnavailableForLegalReasons < HTTPClientError # 451 - RFC 7725
+
+ # Response class for Unavailable For Legal Reasons responses (status code 451).
+ #
+ # A server operator has received a legal demand to deny access to a resource or to a set of resources
+ # that includes the requested resource.
+ # See {451 Unavailable For Legal Reasons}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#451].
+ class HTTPUnavailableForLegalReasons < HTTPClientError
HAS_BODY = true
end
# 444 No Response - Nginx
@@ -196,43 +504,100 @@ class HTTPUnavailableForLegalReasons < HTTPClientError # 451 - RFC 7725
# 450 Blocked by Windows Parental Controls - Microsoft
# 499 Client Closed Request - Nginx
- class HTTPInternalServerError < HTTPServerError # 500
+ # Response class for Internal Server Error responses (status code 500).
+ #
+ # An unexpected condition was encountered and no more specific message is suitable.
+ # See {500 Internal Server Error}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#500].
+ class HTTPInternalServerError < HTTPServerError
HAS_BODY = true
end
- class HTTPNotImplemented < HTTPServerError # 501
+
+ # Response class for Not Implemented responses (status code 501).
+ #
+ # The server either does not recognize the request method,
+ # or it lacks the ability to fulfil the request.
+ # See {501 Not Implemented}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#501].
+ class HTTPNotImplemented < HTTPServerError
HAS_BODY = true
end
- class HTTPBadGateway < HTTPServerError # 502
+
+ # Response class for Bad Gateway responses (status code 502).
+ #
+ # The server was acting as a gateway or proxy
+ # and received an invalid response from the upstream server.
+ # See {502 Bad Gateway}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#502].
+ class HTTPBadGateway < HTTPServerError
HAS_BODY = true
end
- class HTTPServiceUnavailable < HTTPServerError # 503
+
+ # Response class for Service Unavailable responses (status code 503).
+ #
+ # The server cannot handle the request
+ # (because it is overloaded or down for maintenance).
+ # See {503 Service Unavailable}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#503].
+ class HTTPServiceUnavailable < HTTPServerError
HAS_BODY = true
end
- class HTTPGatewayTimeout < HTTPServerError # 504
+
+ # Response class for Gateway Timeout responses (status code 504).
+ #
+ # The server was acting as a gateway or proxy
+ # and did not receive a timely response from the upstream server.
+ # See {504 Gateway Timeout}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#504].
+ class HTTPGatewayTimeout < HTTPServerError
HAS_BODY = true
end
HTTPGatewayTimeOut = HTTPGatewayTimeout
- class HTTPVersionNotSupported < HTTPServerError # 505
+
+ # Response class for HTTP Version Not Supported responses (status code 505).
+ #
+ # The server does not support the HTTP version used in the request.
+ # See {505 HTTP Version Not Supported}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#505].
+ class HTTPVersionNotSupported < HTTPServerError
HAS_BODY = true
end
- class HTTPVariantAlsoNegotiates < HTTPServerError # 506
+
+ # Response class for Variant Also Negotiates responses (status code 506).
+ #
+ # Transparent content negotiation for the request results in a circular reference.
+ # See {506 Variant Also Negotiates}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#506].
+ class HTTPVariantAlsoNegotiates < HTTPServerError
HAS_BODY = true
end
- class HTTPInsufficientStorage < HTTPServerError # 507 - RFC 4918
+
+ # Response class for Insufficient Storage (WebDAV) responses (status code 507).
+ #
+ # The server is unable to store the representation needed to complete the request.
+ # See {507 Insufficient Storage (WebDAV)}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#507].
+ class HTTPInsufficientStorage < HTTPServerError
HAS_BODY = true
end
- class HTTPLoopDetected < HTTPServerError # 508 - RFC 5842
+
+ # Response class for Loop Detected (WebDAV) responses (status code 508).
+ #
+ # The server detected an infinite loop while processing the request.
+ # See {508 Loop Detected (WebDAV)}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#508].
+ class HTTPLoopDetected < HTTPServerError
HAS_BODY = true
end
# 509 Bandwidth Limit Exceeded - Apache bw/limited extension
- class HTTPNotExtended < HTTPServerError # 510 - RFC 2774
+
+ # Response class for Not Extended responses (status code 510).
+ #
+ # Further extensions to the request are required for the server to fulfill it.
+ # See {510 Not Extended}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#510].
+ class HTTPNotExtended < HTTPServerError
HAS_BODY = true
end
- class HTTPNetworkAuthenticationRequired < HTTPServerError # 511 - RFC 6585
+
+ # Response class for Network Authentication Required responses (status code 511).
+ #
+ # The client needs to authenticate to gain network access.
+ # See {511 Network Authentication Required}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#511].
+ class HTTPNetworkAuthenticationRequired < HTTPServerError
HAS_BODY = true
end
- # :startdoc:
end
class Net::HTTPResponse