dwww Home | Manual pages | Find package

HTTP::Status(3pm)     User Contributed Perl Documentation    HTTP::Status(3pm)

NAME
       HTTP::Status - HTTP Status code processing

VERSION
       version 6.44

SYNOPSIS
        use HTTP::Status qw(:constants :is status_message);

        if ($rc != HTTP_OK) {
            print status_message($rc), "\n";
        }

        if (is_success($rc)) { ... }
        if (is_error($rc)) { ... }
        if (is_redirect($rc)) { ... }

DESCRIPTION
       HTTP::Status is a library of routines for defining and classifying HTTP
       status codes for libwww-perl.  Status codes are used to encode the
       overall outcome of an HTTP response message.  Codes correspond to those
       defined in RFC 2616 and RFC 2518.

CONSTANTS
       The following constant functions can be used as mnemonic status code
       names.  None of these are exported by default.  Use the ":constants"
       tag to import them all.

          HTTP_CONTINUE                        (100)
          HTTP_SWITCHING_PROTOCOLS             (101)
          HTTP_PROCESSING                      (102)
          HTTP_EARLY_HINTS                     (103)

          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_ALREADY_REPORTED                (208)

          HTTP_IM_USED                         (226)

          HTTP_MULTIPLE_CHOICES                (300)
          HTTP_MOVED_PERMANENTLY               (301)
          HTTP_FOUND                           (302)
          HTTP_SEE_OTHER                       (303)
          HTTP_NOT_MODIFIED                    (304)
          HTTP_USE_PROXY                       (305)
          HTTP_TEMPORARY_REDIRECT              (307)
          HTTP_PERMANENT_REDIRECT              (308)

          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_PAYLOAD_TOO_LARGE               (413)
          HTTP_URI_TOO_LONG                    (414)
          HTTP_UNSUPPORTED_MEDIA_TYPE          (415)
          HTTP_RANGE_NOT_SATISFIABLE           (416)
          HTTP_EXPECTATION_FAILED              (417)
          HTTP_MISDIRECTED REQUEST             (421)
          HTTP_UNPROCESSABLE_ENTITY            (422)
          HTTP_LOCKED                          (423)
          HTTP_FAILED_DEPENDENCY               (424)
          HTTP_TOO_EARLY                       (425)
          HTTP_UPGRADE_REQUIRED                (426)
          HTTP_PRECONDITION_REQUIRED           (428)
          HTTP_TOO_MANY_REQUESTS               (429)
          HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE (431)
          HTTP_UNAVAILABLE_FOR_LEGAL_REASONS   (451)

          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_LOOP_DETECTED                   (508)
          HTTP_NOT_EXTENDED                    (510)
          HTTP_NETWORK_AUTHENTICATION_REQUIRED (511)

FUNCTIONS
       The following additional functions are provided.  Most of them are
       exported by default.  The ":is" import tag can be used to import all
       the classification functions.

       status_message( $code )
           The status_message() function will translate status codes to human
           readable strings. The string is the same as found in the constant
           names above.  For example, "status_message(303)" will return "Not
           Found".

           If the $code is not registered in the list of IANA HTTP Status
           Codes <https://www.iana.org/assignments/http-status-codes/http-
           status-codes.xhtml> then "undef" is returned.

       status_constant_name( $code )
           The status_constant_name() function will translate a status code to
           a string which has the name of the constant for that status code.
           For example, "status_constant_name(404)" will return
           "HTTP_NOT_FOUND".

           If the $code is not registered in the list of IANA HTTP Status
           Codes <https://www.iana.org/assignments/http-status-codes/http-
           status-codes.xhtml> then "undef" is returned.

       is_info( $code )
           Return TRUE if $code is an Informational status code (1xx).  This
           class of status code indicates a provisional response which can't
           have any content.

       is_success( $code )
           Return TRUE if $code is a Successful status code (2xx).

       is_redirect( $code )
           Return TRUE if $code is a Redirection status code (3xx). This class
           of status code indicates that further action needs to be taken by
           the user agent in order to fulfill the request.

       is_error( $code )
           Return TRUE if $code is an Error status code (4xx or 5xx).  The
           function returns TRUE for both client and server error status
           codes.

       is_client_error( $code )
           Return TRUE if $code is a Client Error status code (4xx). This
           class of status code is intended for cases in which the client
           seems to have erred.

           This function is not exported by default.

       is_server_error( $code )
           Return TRUE if $code is a Server Error status code (5xx). This
           class of status codes is intended for cases in which the server is
           aware that it has erred or is incapable of performing the request.

           This function is not exported by default.

       is_cacheable_by_default( $code )
           Return TRUE if $code indicates that a response is cacheable by
           default, and it can be reused by a cache with heuristic expiration.
           All other status codes are not cacheable by default. See RFC 7231 -
           HTTP/1.1 Semantics and Content, Section 6.1. Overview of Status
           Codes <https://tools.ietf.org/html/rfc7231#section-6.1>.

           This function is not exported by default.

SEE ALSO
       IANA HTTP Status Codes <https://www.iana.org/assignments/http-status-
       codes/http-status-codes.xhtml>

BUGS
       For legacy reasons all the "HTTP_" constants are exported by default
       with the prefix "RC_".  It's recommended to use explicit imports and
       the ":constants" tag instead of relying on this.

AUTHOR
       Gisle Aas <gisle@activestate.com>

COPYRIGHT AND LICENSE
       This software is copyright (c) 1994 by Gisle Aas.

       This is free software; you can redistribute it and/or modify it under
       the same terms as the Perl 5 programming language system itself.

perl v5.36.0                      2022-10-30                 HTTP::Status(3pm)

Generated by dwww version 1.15 on Tue Jun 25 09:06:08 CEST 2024.