HTTP::Message

Hippo2000 (2000/7/28)

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

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


目次


名前

HTTP::Message - HTTPメッセージをカプセル化するクラス


概要

 package HTTP::Request;  # または HTTP::Response
 require HTTP::Message;
 @ISA=qw(HTTP::Message);

説明

HTTP::Messageオブジェクトには幾つかのヘッダとコンテント(ボディ)が入っています。このクラスは抽象クラスです。つまりHTTP::RequestとHTTP::Responseのための基本クラスとしてだけ使われ、それ自身のインスタンスは生成されることはありません。

以下のメソッドが利用できます:

$mess = new HTTP::Message;
これがオブジェクト・コンストラクタです。このライブラリから内部的にだけ呼ばれるべきです。外部コードはHTTP::RequestまたはHTTP::Responseオブジェクトを構築するべきです。
$mess->clone()
オブジェクトのコピーを返します。
$mess->protocol([$proto])
そのメッセージに使われるHTTPプロトコルを設定します。protocol()は"HTTP/1.0"または"HTTP/1.1"のような文字列です。
$mess->content([$content])
引数が与えられていれば、content()メソッドはコンテントを設定します。引数が与えられなければ、コンテントは触られません。いずれの場合も前のコンテントは返されます。
$mess->add_content($data)
add_content()メソッドは前のコンテントの末尾にさらにデータを追加します。
$mess->content_ref
content_ref()メソッドはコンテント文字列へのリファレンスを返します。コンテントが巨大であれば、この方法でコンテントにアクセスするのはより効率的かもしれません。そしてコンテントの直接操作するために使うことが出来ます。例えば:
  ${$res->content_ref} =~ s/\bfoo\b/bar/g;
$mess->headers;
埋め込まれたHTTP::Headersオブジェクトを返します。
$mess->headers_as_string([$endl])
メッセージ注のヘッダのためにHTTP::Headers->as_stringを呼び出します。

すべての分からないHTTP::Messageメソッドは代りに各メッセージの一部であるHTTP::Headersオブジェクトがおこないます。これは以下の便宜メソッドへのアクセスを可能にします。これらのメソッドについての詳細はHTTP::Headersを参照してください。

  $mess->header($field => $val);
  $mess->scan(\&doit);
  $mess->push_header($field => $val);
  $mess->remove_header($field);
  $mess->date;
  $mess->expires;
  $mess->if_modified_since;
  $mess->if_unmodified_since;
  $mess->last_modified;
  $mess->content_type;
  $mess->content_encoding;
  $mess->content_length;
  $mess->content_language
  $mess->title;
  $mess->user_agent;
  $mess->server;
  $mess->from;
  $mess->referer;
  $mess->www_authenticate;
  $mess->authorization;
  $mess->proxy_authorization;
  $mess->authorization_basic;
  $mess->proxy_authorization_basic;

著作権(COPYRIGHT)

(原文のまま)

Copyright 1995-1997 Gisle Aas.

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


ホーム Perlの小技 HTTP

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