123456789_123456789_123456789_123456789_123456789_

Module: WEBrick::HTTPStatus

Relationships & Source Files
Namespace Children
Exceptions:
Defined in: lib/webrick/httpstatus.rb

Overview

This module is used to manager HTTP status codes.

See www.w3.org/Protocols/rfc2616/rfc2616-sec10.html for more information.

Constant Summary

  • CodeToError = Internal use only

    Maps a status code to the corresponding HTTPStatus::Status class

    # File 'lib/webrick/httpstatus.rb', line 110
    {}
  • StatusMessage = Internal use only

    HTTP status codes and descriptions

    # File 'lib/webrick/httpstatus.rb', line 55
    { # :nodoc:
      100 => 'Continue',
      101 => 'Switching Protocols',
      200 => 'OK',
      201 => 'Created',
      202 => 'Accepted',
      203 => 'Non-Authoritative Information',
      204 => 'No Content',
      205 => 'Reset Content',
      206 => 'Partial Content',
      207 => 'Multi-Status',
      300 => 'Multiple Choices',
      301 => 'Moved Permanently',
      302 => 'Found',
      303 => 'See Other',
      304 => 'Not Modified',
      305 => 'Use Proxy',
      307 => 'Temporary Redirect',
      400 => 'Bad Request',
      401 => 'Unauthorized',
      402 => 'Payment Required',
      403 => 'Forbidden',
      404 => 'Not Found',
      405 => 'Method Not Allowed',
      406 => 'Not Acceptable',
      407 => 'Proxy Authentication Required',
      408 => 'Request Timeout',
      409 => 'Conflict',
      410 => 'Gone',
      411 => 'Length Required',
      412 => 'Precondition Failed',
      413 => 'Request Entity Too Large',
      414 => 'Request-URI Too Large',
      415 => 'Unsupported Media Type',
      416 => 'Request Range Not Satisfiable',
      417 => 'Expectation Failed',
      422 => 'Unprocessable Entity',
      423 => 'Locked',
      424 => 'Failed Dependency',
      426 => 'Upgrade Required',
      428 => 'Precondition Required',
      429 => 'Too Many Requests',
      431 => 'Request Header Fields Too Large',
      451 => 'Unavailable For Legal Reasons',
      500 => 'Internal Server Error',
      501 => 'Not Implemented',
      502 => 'Bad Gateway',
      503 => 'Service Unavailable',
      504 => 'Gateway Timeout',
      505 => 'HTTP Version Not Supported',
      507 => 'Insufficient Storage',
      511 => 'Network Authentication Required',
    }

Class Method Summary

Class Method Details

.[](code)

Returns the status class corresponding to code

WEBrick::HTTPStatus[302]
#=> WEBrick::HTTPStatus::NotFound
[ GitHub ]

  
# File 'lib/webrick/httpstatus.rb', line 186

def self.[](code)
  CodeToError[code]
end

.client_error?(code) ⇒ Boolean (mod_func)

Is code a client error status?

[ GitHub ]

  
# File 'lib/webrick/httpstatus.rb', line 170

def client_error?(code)
  code.to_i >= 400 and code.to_i < 500
end

.error?(code) ⇒ Boolean (mod_func)

Is code an error status?

[ GitHub ]

  
# File 'lib/webrick/httpstatus.rb', line 164

def error?(code)
  code.to_i >= 400 and code.to_i < 600
end

.info?(code) ⇒ Boolean (mod_func)

Is code an informational status?

[ GitHub ]

  
# File 'lib/webrick/httpstatus.rb', line 146

def info?(code)
  code.to_i >= 100 and code.to_i < 200
end

.reason_phrase(code) (mod_func)

Returns the description corresponding to the HTTP status code

WEBrick::HTTPStatus.reason_phrase 404
#=> "Not Found"
[ GitHub ]

  
# File 'lib/webrick/httpstatus.rb', line 140

def reason_phrase(code)
  StatusMessage[code.to_i]
end

.redirect?(code) ⇒ Boolean (mod_func)

Is code a redirection status?

[ GitHub ]

  
# File 'lib/webrick/httpstatus.rb', line 158

def redirect?(code)
  code.to_i >= 300 and code.to_i < 400
end

.server_error?(code) ⇒ Boolean (mod_func)

Is code a server error status?

[ GitHub ]

  
# File 'lib/webrick/httpstatus.rb', line 176

def server_error?(code)
  code.to_i >= 500 and code.to_i < 600
end

.success?(code) ⇒ Boolean (mod_func)

Is code a successful status?

[ GitHub ]

  
# File 'lib/webrick/httpstatus.rb', line 152

def success?(code)
  code.to_i >= 200 and code.to_i < 300
end