libapreq-1.0 > Apache::Cookie
名前¶
Apache::Cookie - HTTP Cookie クラス
概要¶
use Apache::Cookie ();
my $r = Apache->request;
my $cookie = Apache::Cookie->new($r, ...);
説明¶
Apache::Cookie モジュールは libapreq 中のCookie関連処理のPerlインターフェースです。 インターフェースは Lincoln Stein の CGI::Cookie モジュールを基にしています。
メソッド¶
Apache::Cookie は呼び出し元のネームスペースに何もエクスポートしません。 リクエストオブジェクトを Apache::Coookie::new
に渡す以外はオブジェ クト指向的インターフェースは CGI::Cookie と同一です。 詳細は CGI::Cookie のドキュメントを見て下さい。
new¶
CGI::Cookie::new によく似ていますが、 Apache リクエストオブジェクトが必要です。:
my $cookie = Apache::Cookie->new($r,
-name => 'foo',
-value => 'bar',
-expires => '+3M',
-domain => '.capricorn.com',
-path => '/cgi-bin/database',
-secure => 1
);
bake¶
クッキーをオーブンに入れて焼きます。(出力されるHTTPヘッダに Set-Cookie ヘッダを付加します。)
$cookie->bake;
parse¶
文字列が渡された場合はそれを、そうで無ければ Cookie ヘッダをパースします。:
my $cookies = $cookie->parse; #hash ref
my %cookies = $cookie->parse;
my %cookies = $cookie->parse($cookie_string);
fetch¶
Coookie ヘッダを解析、取得します。:
my $cookies = Apache::Cookie->fetch; #hash ref
my %cookies = Apache::Cookie->fetch;
as_string¶
cookie オブジェクトを文字列化します。
# $cookie->bake と同じ
$r->err_headers_out->add("Set-Cookie" => $cookie->as_string);
name¶
cookie の名前を取得もしくは設定します。
my $name = $cookie->name;
$cookie->name("Foo");
value¶
cookie の値を取得もしくは設定します。
my $value = $cookie->value;
my @values = $cookie->value;
$cookie->value("string");
$cookie->value(\@array);
domain¶
cookie のドメインを取得もしくは設定します。
my $domain = $cookie->domain;
$cookie->domain(".cp.net");
path¶
cookie のパスを取得もしくは設定します。
my $path = $cookie->path;
$cookie->path("/");
expires¶
cookie の有効期限を取得もしくは設定します。
my $expires = $cookie->expires;
$cookie->expires("+3h");
secure¶
cookie の secure フラグを取得もしくは設定します。
my $secure = $cookie->secure;
$cookie->secure(1);
バグ¶
- RFC 2964-5 の実装が完全ではありません。
value
はハッシュリファレンスも引数として受け取るべきです。- OS X では動作しないと報告されてます。(リンクの問題でしょうか?)
SEE ALSO¶
Apache(3), Apache::Request(3), CGI::Cookie(3)
作者¶
Doug MacEachern, updated for v1.0 by Joe Schaefer