HTTP::Status

Hippo2000 (2000/7/28)

HTTP::Statusモジュールなのです。

作者はGisle Aasさんです。メールで許可をいただきました。


目次


名前

HTTP::Status - HTTPステータスコード処理


概要

 use HTTP::Status;
 if ($rc != RC_OK) {
     print status_message($rc), "\n";
 }
 if (is_success($rc)) { ... }
 if (is_error($rc)) { ... }
 if (is_redirect($rc)) { ... }

説明

HTTP::Status はlibwww-perlのためのHTTPステータス・コードの定義と分類分け用の関数のライブラリです。ステータス・コードはHTTPレスポンス・メッセージの全体の結果をコードにするために使われます。コードはRFC2616とRFC2518で定義されたものに対応します。


定数

以下の定数関数が覚えやすいステータス・コード名として使われます:

   RC_CONTINUE                          (100)
   RC_SWITCHING_PROTOCOLS               (101)
   RC_PROCESSING                        (102)
   RC_OK                                (200)
   RC_CREATED                           (201)
   RC_ACCEPTED                          (202)
   RC_NON_AUTHORITATIVE_INFORMATION     (203)
   RC_NO_CONTENT                        (204)
   RC_RESET_CONTENT                     (205)
   RC_PARTIAL_CONTENT                   (206)
   RC_MULTI_STATUS                      (207)
   RC_MULTIPLE_CHOICES                  (300)
   RC_MOVED_PERMANENTLY                 (301)
   RC_FOUND                             (302)
   RC_SEE_OTHER                         (303)
   RC_NOT_MODIFIED                      (304)
   RC_USE_PROXY                         (305)
   RC_TEMPORARY_REDIRECT                (307)
   RC_BAD_REQUEST                       (400)
   RC_UNAUTHORIZED                      (401)
   RC_PAYMENT_REQUIRED                  (402)
   RC_FORBIDDEN                         (403)
   RC_NOT_FOUND                         (404)
   RC_METHOD_NOT_ALLOWED                (405)
   RC_NOT_ACCEPTABLE                    (406)
   RC_PROXY_AUTHENTICATION_REQUIRED     (407)
   RC_REQUEST_TIMEOUT                   (408)
   RC_CONFLICT                          (409)
   RC_GONE                              (410)
   RC_LENGTH_REQUIRED                   (411)
   RC_PRECONDITION_FAILED               (412)
   RC_REQUEST_ENTITY_TOO_LARGE          (413)
   RC_REQUEST_URI_TOO_LARGE             (414)
   RC_UNSUPPORTED_MEDIA_TYPE            (415)
   RC_REQUEST_RANGE_NOT_SATISFIABLE     (416)
   RC_EXPECTATION_FAILED                (417)
   RC_UNPROCESSABLE_ENTITY              (422)
   RC_LOCKED                            (423)
   RC_FAILED_DEPENDENCY                 (424)
   RC_INTERNAL_SERVER_ERROR             (500)
   RC_NOT_IMPLEMENTED                   (501)
   RC_BAD_GATEWAY                       (502)
   RC_SERVICE_UNAVAILABLE               (503)
   RC_GATEWAY_TIMEOUT                   (504)
   RC_HTTP_VERSION_NOT_SUPPORTED        (505)
   RC_INSUFFICIENT_STORAGE              (507)

関数

以下の追加の関数が提供されます。ほとんどのものはデフォルトでエクスポートされます。

status_message($code)
status_message()関数はステータス・コードを人間にも読める文字列に変換します。その文字列は上記の定数名と同じです。$codeがわからないと、undefが返されます。
is_info($code)
$codeが情報的な(Informational)ステータス・コードであればTRUEを返します。ステータス・コードのこのクラスは内容をなにも持つことができない仮のレスポンスであることを示しています。
is_success($code)
$codeが正常な(Successful)ステータス・コードであればTRUEを返します。
is_redirect($code)
$codeがリダイレクトの(Redirection)ステータス・コードであればTRUEを返します。ステータス・コードのこのクラスは、そのリクエストを満足するためには、ユーザ・エージェントがさらに動く必要があることを示します。
is_error($code)
$codeがエラーの(Error)ステータス・コードであればTRUEを返します。この関数はクライアント・エラーとサーバー・エラー・ステータス・コードの両方でTRUEを返します。
is_client_error($code)
$codeがクライアント・エラーの(Client Error)ステータス・コードであればTRUEを返します。ステータス・コードのこのクラスは、クライアントがエラーになっているように見える場合を考えています。

この関数はデフォルトではエクスポートされません

is_server_error($code)
$codeがサーバー・エラーの(Server Error)ステータス・コードであればTRUEを返します。ステータス・コードのこのクラスは、サーバがそれがエラーなったことあるいは、そのリクエストを実行できないことに気がついた場合を考えています。

この関数はデフォルトではエクスポートされません


バグ

始めに@EXPORTの代りに期待された@EXPORT_OKが使われています。デフォルトであまりにも多くがエクスポートされます。


ホーム Perlの小技 HTTP

ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。