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

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.