enum

HTTP::Status

Inherits Enum / Comparable / Value / Object

An enum that provides additional support around HTTP status codes.

Based on Hypertext Transfer Protocol (HTTP) Status Code Registry

It provides constants for the defined HTTP status codes as well as helper methods to easily identify the type of response.

NOTE: To use Status, you must explicitly import it with require "http/status"

Constants

CONTINUE = 100
SWITCHING_PROTOCOLS = 101
PROCESSING = 102
EARLY_HINTS = 103
OK = 200
CREATED = 201
ACCEPTED = 202
NON_AUTHORITATIVE_INFORMATION = 203
NO_CONTENT = 204
RESET_CONTENT = 205
PARTIAL_CONTENT = 206
MULTI_STATUS = 207
ALREADY_REPORTED = 208
IM_USED = 226
MULTIPLE_CHOICES = 300
MOVED_PERMANENTLY = 301
FOUND = 302
SEE_OTHER = 303
NOT_MODIFIED = 304
USE_PROXY = 305
SWITCH_PROXY = 306
TEMPORARY_REDIRECT = 307
PERMANENT_REDIRECT = 308
BAD_REQUEST = 400
UNAUTHORIZED = 401
PAYMENT_REQUIRED = 402
FORBIDDEN = 403
NOT_FOUND = 404
METHOD_NOT_ALLOWED = 405
NOT_ACCEPTABLE = 406
PROXY_AUTHENTICATION_REQUIRED = 407
REQUEST_TIMEOUT = 408
CONFLICT = 409
GONE = 410
LENGTH_REQUIRED = 411
PRECONDITION_FAILED = 412
PAYLOAD_TOO_LARGE = 413
URI_TOO_LONG = 414
UNSUPPORTED_MEDIA_TYPE = 415
RANGE_NOT_SATISFIABLE = 416
EXPECTATION_FAILED = 417
IM_A_TEAPOT = 418
MISDIRECTED_REQUEST = 421
UNPROCESSABLE_ENTITY = 422
LOCKED = 423
FAILED_DEPENDENCY = 424
UPGRADE_REQUIRED = 426
PRECONDITION_REQUIRED = 428
TOO_MANY_REQUESTS = 429
REQUEST_HEADER_FIELDS_TOO_LARGE = 431
UNAVAILABLE_FOR_LEGAL_REASONS = 451
INTERNAL_SERVER_ERROR = 500
NOT_IMPLEMENTED = 501
BAD_GATEWAY = 502
SERVICE_UNAVAILABLE = 503
GATEWAY_TIMEOUT = 504
HTTP_VERSION_NOT_SUPPORTED = 505
VARIANT_ALSO_NEGOTIATES = 506
INSUFFICIENT_STORAGE = 507
LOOP_DETECTED = 508
NOT_EXTENDED = 510
NETWORK_AUTHENTICATION_REQUIRED = 511

Constructors

new(status_code : Int32) : self

Create a new status instance with the given status code, or raise an error if the status code given is not inside 100..999.

require "http/status"

HTTP::Status.new(100)  # => HTTP::Status::CONTINUE
HTTP::Status.new(202)  # => HTTP::Status::ACCEPTED
HTTP::Status.new(123)  # => 123
HTTP::Status.new(1000) # raises ArgumentError
Source

Instance methods

accepted?

Returns true if this enum value equals ACCEPTED

Source
already_reported?

Returns true if this enum value equals ALREADY_REPORTED

Source
bad_gateway?

Returns true if this enum value equals BAD_GATEWAY

Source
bad_request?

Returns true if this enum value equals BAD_REQUEST

Source
client_error?

Returns true if the response status code is between 400 and 499.

require "http/status"

HTTP::Status::METHOD_NOT_ALLOWED.client_error?    # => true
HTTP::Status::INTERNAL_SERVER_ERROR.client_error? # => false
Source
code

Returns the number that represents the HTTP status code.

require "http/status"

status = HTTP::Status::NO_CONTENT
status.code # => 204
Source
conflict?

Returns true if this enum value equals CONFLICT

Source
continue?

Returns true if this enum value equals CONTINUE

Source
created?

Returns true if this enum value equals CREATED

Source
description

Returns the default status description of the given HTTP status code.

require "http/status"

HTTP::Status.new(123).description               # => nil
HTTP::Status::NO_CONTENT.description            # => "No Content"
HTTP::Status::METHOD_NOT_ALLOWED.description    # => "Method Not Allowed"
HTTP::Status::INTERNAL_SERVER_ERROR.description # => "Internal Server Error"
Source
early_hints?

Returns true if this enum value equals EARLY_HINTS

Source
expectation_failed?

Returns true if this enum value equals EXPECTATION_FAILED

Source
failed_dependency?

Returns true if this enum value equals FAILED_DEPENDENCY

Source
forbidden?

Returns true if this enum value equals FORBIDDEN

Source
found?

Returns true if this enum value equals FOUND

Source
gateway_timeout?

Returns true if this enum value equals GATEWAY_TIMEOUT

Source
gone?

Returns true if this enum value equals GONE

Source
http_version_not_supported?

Returns true if this enum value equals HTTP_VERSION_NOT_SUPPORTED

Source
im_a_teapot?

Returns true if this enum value equals IM_A_TEAPOT

Source
im_used?

Returns true if this enum value equals IM_USED

Source
informational?

Returns true if the response status code is between 100 and 199.

require "http/status"

HTTP::Status::SWITCHING_PROTOCOLS.informational?   # => true
HTTP::Status::INTERNAL_SERVER_ERROR.informational? # => false
Source
insufficient_storage?

Returns true if this enum value equals INSUFFICIENT_STORAGE

Source
internal_server_error?

Returns true if this enum value equals INTERNAL_SERVER_ERROR

Source
length_required?

Returns true if this enum value equals LENGTH_REQUIRED

Source
locked?

Returns true if this enum value equals LOCKED

Source
loop_detected?

Returns true if this enum value equals LOOP_DETECTED

Source
method_not_allowed?

Returns true if this enum value equals METHOD_NOT_ALLOWED

Source
misdirected_request?

Returns true if this enum value equals MISDIRECTED_REQUEST

Source
moved_permanently?

Returns true if this enum value equals MOVED_PERMANENTLY

Source
multi_status?

Returns true if this enum value equals MULTI_STATUS

Source
multiple_choices?

Returns true if this enum value equals MULTIPLE_CHOICES

Source
network_authentication_required?

Returns true if this enum value equals NETWORK_AUTHENTICATION_REQUIRED

Source
no_content?

Returns true if this enum value equals NO_CONTENT

Source
non_authoritative_information?

Returns true if this enum value equals NON_AUTHORITATIVE_INFORMATION

Source
not_acceptable?

Returns true if this enum value equals NOT_ACCEPTABLE

Source
not_extended?

Returns true if this enum value equals NOT_EXTENDED

Source
not_found?

Returns true if this enum value equals NOT_FOUND

Source
not_implemented?

Returns true if this enum value equals NOT_IMPLEMENTED

Source
not_modified?

Returns true if this enum value equals NOT_MODIFIED

Source
ok?

Returns true if this enum value equals OK

Source
partial_content?

Returns true if this enum value equals PARTIAL_CONTENT

Source
payload_too_large?

Returns true if this enum value equals PAYLOAD_TOO_LARGE

Source
payment_required?

Returns true if this enum value equals PAYMENT_REQUIRED

Source
permanent_redirect?

Returns true if this enum value equals PERMANENT_REDIRECT

Source
precondition_failed?

Returns true if this enum value equals PRECONDITION_FAILED

Source
precondition_required?

Returns true if this enum value equals PRECONDITION_REQUIRED

Source
processing?

Returns true if this enum value equals PROCESSING

Source
proxy_authentication_required?

Returns true if this enum value equals PROXY_AUTHENTICATION_REQUIRED

Source
range_not_satisfiable?

Returns true if this enum value equals RANGE_NOT_SATISFIABLE

Source
redirection?

Returns true if the response status code is between 300 and 399.

require "http/status"

HTTP::Status::SWITCH_PROXY.redirection?          # => true
HTTP::Status::INTERNAL_SERVER_ERROR.redirection? # => false
Source
request_header_fields_too_large?

Returns true if this enum value equals REQUEST_HEADER_FIELDS_TOO_LARGE

Source
request_timeout?

Returns true if this enum value equals REQUEST_TIMEOUT

Source
reset_content?

Returns true if this enum value equals RESET_CONTENT

Source
see_other?

Returns true if this enum value equals SEE_OTHER

Source
server_error?

Returns true if the response status code is between 500 and 599.

require "http/status"

HTTP::Status::INTERNAL_SERVER_ERROR.server_error? # => true
HTTP::Status::METHOD_NOT_ALLOWED.server_error?    # => false
Source
service_unavailable?

Returns true if this enum value equals SERVICE_UNAVAILABLE

Source
success?

Returns true if the response status code is between 200 and 299.

require "http/status"

HTTP::Status::NO_CONTENT.success?            # => true
HTTP::Status::INTERNAL_SERVER_ERROR.success? # => false
Source
switch_proxy?

Returns true if this enum value equals SWITCH_PROXY

Source
switching_protocols?

Returns true if this enum value equals SWITCHING_PROTOCOLS

Source
temporary_redirect?

Returns true if this enum value equals TEMPORARY_REDIRECT

Source
too_many_requests?

Returns true if this enum value equals TOO_MANY_REQUESTS

Source
unauthorized?

Returns true if this enum value equals UNAUTHORIZED

Source
unprocessable_entity?

Returns true if this enum value equals UNPROCESSABLE_ENTITY

Source
unsupported_media_type?

Returns true if this enum value equals UNSUPPORTED_MEDIA_TYPE

Source
upgrade_required?

Returns true if this enum value equals UPGRADE_REQUIRED

Source
uri_too_long?

Returns true if this enum value equals URI_TOO_LONG

Source
use_proxy?

Returns true if this enum value equals USE_PROXY

Source
variant_also_negotiates?

Returns true if this enum value equals VARIANT_ALSO_NEGOTIATES

Source