The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

APR::Request::Cookie - wrapper for libapreq2's cookie API.

SYNOPSIS

  use APR::Request::Cookie;
  my $cookie = APR::Request::Cookie->new($req, 
                                         name => "foo",
                                        value => "bar",
                                       domain => "capricorn.com");

  print "$cookie"; # prints "bar"

  $cookie->domain("example.com"); # change domains
  $cookie->version(1); # upgrade it to conform with RFC 2109/2965.

  # print a response header
  printf "Set-Cookie: %s\n", $cookie->as_string;

DESCRIPTION

The APR::Request::Cookie module provides base methods for interfacing with libapreq2's cookie API. It also provides a few utility functions and constants.

This manpage documents the APR::Request::Cookie and APR::Request::Cookie::Table packages.

OVERLOADS

APR::Request::Cookie

""

    "$cookie"

The double-quote interpolation operator maps to APR::Request::Cookie::value().

METHODS

APR::Request::Cookie

new

    APR::Request::Cookie->new($pool, 
                               name => $name, 
                              value => $value, 
                              %args)

Creates a new cookie. Here $pool is an APR::Pool object, and $name is the cookie's name. The $value is transformed into the cookie's raw value through the class' freeze() method. The remaining arguments are optional:

-secure
-version
-path
-domain
-port
-expires
-comment
-commentURL

For details on these arguments, please consult the corresponding method's documentation.

freeze

    APR::Request::Cookie->freeze($value)

Default serializer- returns $value unmodified.

thaw

    APR::Request::Cookie->thaw($value)

Reverses freeze(); here it's a noop.

name

    $cookie->name()

Fetch the cookie's name. This attribute cannot be modified.

value

    $cookie->value()

Fetch the cookie's value. This attribute cannot be modified.

secure

    $cookie->secure()
    $cookie->secure($set)

Get/set the cookie's secure flag.

version

    $cookie->version()
    $cookie->version($set)

Get/set the cookie's version number. Version 0 cookies conform to the Netscape spec; Version 1 cookies conform to either RFC 2109 or RFC 2965.

path

    $cookie->path()
    $cookie->path($set)

Get/set the cookie's path string.

domain

    $cookie->domain()
    $cookie->domain($set)

Get/set the cookie's domain string.

port

    $cookie->port()
    $cookie->port($set)

Get/set the cookie's port string. Only valid for Version 1 cookies.

comment

    $cookie->comment()
    $cookie->comment($set)

Get/set the cookie's comment string. Only valid for Version 1 cookies.

commentURL

    $cookie->commentURL()
    $cookie->commentURL($set)

Get/set the cookie's commentURL string. Only valid for Version 1 cookies.

is_tainted

    $cookie->is_tainted()
    $cookie->is_tainted($set)

Get/set the cookie's internal tainted flag.

make

    APR::Request::Cookie->make($pool, $name, $value)

Fast XS cookie constructor invoked by new(). The cookie's raw name & value are taken directly from the passed in arguments; no freezing/encoding is done on the $value.

as_string

    $cookie->as_string()

String representation of the cookie, suitable for inclusion in a "Set-Cookie" header.

SUBROUTINES

  APR::Request::Cookie

expires

  expires($date_string)

METHODS

  APR::Request::Cookie::Table - read-only version of APR::Table.

Tables in this class normally arise from calls to APR::Request::jar().

    $table->cookie_class()
    $table->cookie_class($set)

Get/set the class each table element is blessed into during a get or FETCH call. If defined, the class must be derived from APR::Request::Cookie.

get

    $table->get($name)
    $table->get()

FETCH

    $table->FETCH($name)

FIRSTKEY

    $table->FIRSTKEY()

NEXTKEY

    $table->NEXTKEY()

do

    $table->do($callback, @keys)

SEE ALSO

Apache2::Cookie, APR::Request

COPYRIGHT

  Copyright 2003-2005  The Apache Software Foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.