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 );
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 );
is_informational
Returns true if the given integer is an "Informational" (1xx) HTTP status code, otherwise false.
$result = is_informational( $status );
is_redirection
Returns true if the given integer is a "Redirection" (3xx) HTTP status code, otherwise false.
$result = is_redirection( $status );
is_server_error
Returns true if the given integer is a "Server Error" (5xx) HTTP status code, otherwise false.
$result = is_server_error( $status );
is_success
Returns true if the given integer is a "Success" (2xx) HTTP status code, otherwise false.
$result = is_success( $status );
reason_phrase
Returns the reason phrase for the given HTTP status code.
$reason_phrase = reason_phrase( $status );
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
SEE ALSO
AUTHOR
Jörg A. Uzarek <uzarek@runlevelnull.de>
COPYRIGHT AND LICENSE
Copyright (c) 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.