module HTTP
HTTP protocol implementation.
Nested
Definitions
Accept = ::HTTP::Accept
Pull in ::HTTP::Accept
for parsing.
STATUS_CODES = {...}
A list of commonly used HTTP status codes. For help choosing the right status code, see http://racksburg.com/choosing-an-http-status-code/
Implementation
STATUS_CODES = {
:success => 200,
:created => 201,
:accepted => 202,
:moved => 301,
:found => 302,
:see_other => 303,
:not_modified => 304,
:redirect => 307,
:bad_request => 400,
:unauthorized => 401,
:forbidden => 403,
:not_found => 404,
:not_allowed => 405,
:unsupported_method => 405,
:gone => 410,
:teapot => 418,
:unprocessible => 422, # The best status code for a client-side ArgumentError.
:error => 500,
:unimplemented => 501,
:unavailable => 503
}
STATUS_DESCRIPTIONS
A list of human readable descriptions for a given status code. For a more detailed description, see https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
Implementation
STATUS_DESCRIPTIONS = {
200 => 'OK'.freeze,
201 => 'Created'.freeze,
202 => 'Accepted'.freeze,
203 => 'Non-Authoritive Information'.freeze,
204 => 'No Content'.freeze,
205 => 'Reset Content'.freeze,
206 => 'Partial Content'.freeze,
300 => 'Multiple Choices'.freeze,
301 => 'Moved Permanently'.freeze,
302 => 'Found'.freeze,
303 => 'See Other'.freeze,
304 => 'Not Modified'.freeze,
305 => 'Use Proxy'.freeze,
307 => 'Temporary Redirect'.freeze,
308 => 'Permanent Redirect'.freeze,
400 => 'Bad Request'.freeze,
401 => 'Permission Denied'.freeze,
402 => 'Payment Required'.freeze,
403 => 'Access Forbidden'.freeze,
404 => 'Resource Not Found'.freeze,
405 => 'Unsupported Method'.freeze,
406 => 'Not Acceptable'.freeze,
408 => 'Request Timeout'.freeze,
409 => 'Request Conflict'.freeze,
410 => 'Resource Removed'.freeze,
416 => 'Byte range unsatisfiable'.freeze,
422 => 'Unprocessible Entity'.freeze,
500 => 'Internal Server Error'.freeze,
501 => 'Not Implemented'.freeze,
503 => 'Service Unavailable'.freeze
}.merge(Rack::Utils::HTTP_STATUS_CODES)