GX::HTTP::Status

Module Version: 0.2000_01

NAME

GX::HTTP::Status - Constants and utility functions for dealing with HTTP status codes

SYNOPSIS

# Load the module
use GX::HTTP::Status qw( :constants is_error reason_phrase );

# Check a HTTP status code
die "Ooops" if is_error( $status );

# Get the reason phrase for a HTTP status code
print reason_phrase( HTTP_OK );

DESCRIPTION

This module provides various constants and utility functions.

FUNCTIONS

Public Functions

is_client_error

Returns true if the given integer is a "Client Error" (4xx) HTTP status code, otherwise false.

$result = is_client_error( $status );
Arguments:
  • $status ( integer )
Returns:
  • $result ( bool )

is_error

Returns true if the given integer is a "Client Error" (4xx) or a "Server Error" (5xx) HTTP status code, otherwise false.

$result = is_error( $status );
Arguments:
  • $status ( integer )
Returns:
  • $result ( bool )

is_informational

Returns true if the given integer is an "Informational" (1xx) HTTP status code, otherwise false.

$result = is_informational( $status );
Arguments:
  • $status ( integer )
Returns:
  • $result ( bool )

is_redirection

Returns true if the given integer is a "Redirection" (3xx) HTTP status code, otherwise false.

$result = is_redirection( $status );
Arguments:
  • $status ( integer )
Returns:
  • $result ( bool )

is_server_error

Returns true if the given integer is a "Server Error" (5xx) HTTP status code, otherwise false.

$result = is_server_error( $status );
Arguments:
  • $status ( integer )
Returns:
  • $result ( bool )

is_success

Returns true if the given integer is a "Success" (2xx) HTTP status code, otherwise false.

$result = is_success( $status );
Arguments:
  • $status ( integer )
Returns:
  • $result ( bool )

reason_phrase

Returns the reason phrase for the given HTTP status code.

$reason_phrase = reason_phrase( $status );
Arguments:
  • $status ( integer )
Returns:
  • $reason_phrase ( string | undef )

CONSTANTS

The following constants are exported on demand, either individually or all at once via the ":constants" export tag:

HTTP_CONTINUE                      => 100
HTTP_SWITCHING_PROTOCOLS => 101
HTTP_PROCESSING => 102
HTTP_OK => 200
HTTP_CREATED => 201
HTTP_ACCEPTED => 202
HTTP_NON_AUTHORITATIVE_INFORMATION => 203
HTTP_NO_CONTENT => 204
HTTP_RESET_CONTENT => 205
HTTP_PARTIAL_CONTENT => 206
HTTP_MULTI_STATUS => 207
HTTP_MULTIPLE_CHOICES => 300
HTTP_MOVED_PERMANENTLY => 301
HTTP_FOUND => 302
HTTP_SEE_OTHER => 303
HTTP_NOT_MODIFIED => 304
HTTP_USE_PROXY => 305
HTTP_SWITCH_PROXY => 306
HTTP_TEMPORARY_REDIRECT => 307
HTTP_BAD_REQUEST => 400
HTTP_UNAUTHORIZED => 401
HTTP_PAYMENT_REQUIRED => 402
HTTP_FORBIDDEN => 403
HTTP_NOT_FOUND => 404
HTTP_METHOD_NOT_ALLOWED => 405
HTTP_NOT_ACCEPTABLE => 406
HTTP_PROXY_AUTHENTICATION_REQUIRED => 407
HTTP_REQUEST_TIMEOUT => 408
HTTP_CONFLICT => 409
HTTP_GONE => 410
HTTP_LENGTH_REQUIRED => 411
HTTP_PRECONDITION_FAILED => 412
HTTP_REQUEST_ENTITY_TOO_LARGE => 413
HTTP_REQUEST_URI_TOO_LONG => 414
HTTP_UNSUPPORTED_MEDIA_TYPE => 415
HTTP_REQUEST_RANGE_NOT_SATISFIABLE => 416
HTTP_EXPECTATION_FAILED => 417
HTTP_UNPROCESSABLE_ENTITY => 422
HTTP_LOCKED => 423
HTTP_FAILED_DEPENDENCY => 424
HTTP_UNORDERED_COLLECTION => 425
HTTP_UPGRADE_REQUIRED => 426
HTTP_INTERNAL_SERVER_ERROR => 500
HTTP_NOT_IMPLEMENTED => 501
HTTP_BAD_GATEWAY => 502
HTTP_SERVICE_UNAVAILABLE => 503
HTTP_GATEWAY_TIMEOUT => 504
HTTP_HTTP_VERSION_NOT_SUPPORTED => 505
HTTP_VARIANT_ALSO_NEGOTIATES => 506
HTTP_INSUFFICIENT_STORAGE => 507
HTTP_BANDWIDTH_LIMIT_EXCEEDED => 509
HTTP_NOT_EXTENDED => 510

AUTHOR

Jörg A. Uzarek <uzarek@runlevelnull.de>

COPYRIGHT AND LICENSE

Copyright © 2009-2011 Jörg A. Uzarek.

This module is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License Version 3 as published by the Free Software Foundation.